/* /Components/Common/CustomerSearchFilter.razor.rz.scp.css */
.vsf-wrap[b-63ngi25cja] { display: inline-flex; gap: 4px; align-items: center; }

.vsf-input[b-63ngi25cja] {
    font-size: 13px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: var(--bg-input);
    color: var(--text-primary);
    height: 36px;
    box-sizing: border-box;
}

.vsf-btn[b-63ngi25cja] {
    height: 36px;
    padding: 0 12px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.vsf-btn:hover[b-63ngi25cja] { opacity: 0.9; }
/* /Components/Common/ItemSearchFilter.razor.rz.scp.css */
.isf-wrap[b-1suq5u92dl] { display: inline-flex; gap: 4px; align-items: center; }

.isf-input[b-1suq5u92dl] {
    font-size: 13px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: var(--bg-input);
    color: var(--text-primary);
    height: 36px;
    box-sizing: border-box;
}
.isf-input[b-1suq5u92dl]::placeholder { color: var(--text-muted, #9ca3af); }

.isf-btn[b-1suq5u92dl] {
    height: 36px;
    padding: 0 12px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.isf-btn:hover[b-1suq5u92dl] { opacity: 0.9; }
/* /Components/Common/Member/FindId.razor.rz.scp.css */
:global(html)[b-yumlusvsh8],
:global(body)[b-yumlusvsh8] {
    margin: 0;
    min-height: 100vh;
    font-family: "Segoe UI", "Malgun Gothic", sans-serif;
    background: radial-gradient(circle at 15% 20%, rgba(59, 130, 246, 0.18), transparent 24%), radial-gradient(circle at 85% 80%, rgba(14, 165, 233, 0.14), transparent 22%), linear-gradient(135deg, #0b1220 0%, #111827 50%, #172033 100%);
}

.login-page[b-yumlusvsh8] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.login-card[b-yumlusvsh8] {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding: 44px 40px 34px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28), 0 8px 24px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.login-header[b-yumlusvsh8] {
    margin-bottom: 30px;
    text-align: center;
}

.logo-wrap[b-yumlusvsh8] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
}

.logo-img[b-yumlusvsh8] {
    width: 280px;
    max-width: 78%;
    height: auto;
    display: block;
    object-fit: contain;
}

.login-header h3[b-yumlusvsh8] {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: #0f172a;
    line-height: 1.05;
}

.login-header p[b-yumlusvsh8] {
    margin: 12px 0 0;
    font-size: 0.98rem;
    color: #64748b;
    line-height: 1.6;
}

.form-group[b-yumlusvsh8] {
    margin-bottom: 14px;
}

.form-control[b-yumlusvsh8] {
    width: 100%;
    height: 58px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid #d6deea;
    background: #ffffff;
    font-size: 1rem;
    color: #0f172a;
    outline: none;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .12s ease;
}

    .form-control[b-yumlusvsh8]::placeholder {
        color: #94a3b8;
    }

    .form-control:hover[b-yumlusvsh8] {
        border-color: #bfccdc;
        background: #fcfdff;
    }

    .form-control:focus[b-yumlusvsh8] {
        border-color: #2563eb;
        box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12);
        background: #ffffff;
    }

.btn[b-yumlusvsh8] {
    border: none;
    cursor: pointer;
    transition: all .18s ease;
    box-sizing: border-box;
    font-family: inherit;
}

.login-btn[b-yumlusvsh8] {
    width: 100%;
    height: 58px;
    margin-top: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28);
}

    .login-btn:hover:not(:disabled)[b-yumlusvsh8] {
        transform: translateY(-1px);
        box-shadow: 0 18px 34px rgba(37, 99, 235, 0.34);
    }

    .login-btn:active:not(:disabled)[b-yumlusvsh8] {
        transform: translateY(0);
    }

.sub-action-row[b-yumlusvsh8] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 16px;
}

.btn-sub[b-yumlusvsh8] {
    height: 46px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #d8e1ec;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

    .btn-sub:hover:not(:disabled)[b-yumlusvsh8] {
        background: #eff6ff;
        border-color: #93c5fd;
        color: #1d4ed8;
        transform: translateY(-1px);
    }

.message-box[b-yumlusvsh8] {
    margin-top: 18px;
    padding: 14px 15px;
    border-radius: 14px;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
    word-break: break-word;
}

    .message-box.success[b-yumlusvsh8] {
        background: #ecfdf5;
        border: 1px solid #a7f3d0;
        color: #065f46;
    }

    .message-box.error[b-yumlusvsh8] {
        background: #fef2f2;
        border: 1px solid #fecaca;
        color: #b91c1c;
    }

:deep(.validation-summary-errors)[b-yumlusvsh8] {
    margin-top: 0;
    margin-bottom: 14px;
    padding: 14px 15px;
    border-radius: 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
}

:deep(.validation-summary-errors ul)[b-yumlusvsh8] {
    margin: 0;
    padding-left: 18px;
}

:deep(.validation-message)[b-yumlusvsh8] {
    display: block;
    margin-top: 8px;
    padding-left: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #dc2626;
}

.form-control:disabled[b-yumlusvsh8],
.btn:disabled[b-yumlusvsh8] {
    cursor: not-allowed;
}

.form-control:disabled[b-yumlusvsh8] {
    background: #f8fafc;
    color: #94a3b8;
}

.btn:disabled[b-yumlusvsh8] {
    opacity: 0.8;
    transform: none;
}

@media (max-width: 640px) {
    .login-page[b-yumlusvsh8] {
        padding: 16px;
    }

    .login-card[b-yumlusvsh8] {
        max-width: 100%;
        padding: 34px 22px 24px;
        border-radius: 22px;
    }

    .logo-wrap[b-yumlusvsh8] {
        margin-bottom: 22px;
    }

    .logo-img[b-yumlusvsh8] {
        width: 220px;
        max-width: 76%;
    }

    .login-header[b-yumlusvsh8] {
        margin-bottom: 24px;
    }

        .login-header h3[b-yumlusvsh8] {
            font-size: 1.9rem;
        }

    .sub-action-row[b-yumlusvsh8] {
        grid-template-columns: 1fr;
    }

    .form-control[b-yumlusvsh8],
    .login-btn[b-yumlusvsh8],
    .btn-sub[b-yumlusvsh8] {
        height: 52px;
    }
}
/* /Components/Common/Member/ForgotPassword.razor.rz.scp.css */
:global(html)[b-6ti2qv3ehv],
:global(body)[b-6ti2qv3ehv] {
    margin: 0;
    min-height: 100vh;
    font-family: "Segoe UI", "Malgun Gothic", sans-serif;
    background: radial-gradient(circle at 15% 20%, rgba(59, 130, 246, 0.18), transparent 24%), radial-gradient(circle at 85% 80%, rgba(14, 165, 233, 0.14), transparent 22%), linear-gradient(135deg, #0b1220 0%, #111827 50%, #172033 100%);
}

.login-page[b-6ti2qv3ehv] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.login-card[b-6ti2qv3ehv] {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding: 44px 40px 34px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28), 0 8px 24px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.login-header[b-6ti2qv3ehv] {
    margin-bottom: 30px;
    text-align: center;
}

.logo-wrap[b-6ti2qv3ehv] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
}

.logo-img[b-6ti2qv3ehv] {
    width: 280px;
    max-width: 78%;
    height: auto;
    display: block;
    object-fit: contain;
}

.login-header h3[b-6ti2qv3ehv] {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: #0f172a;
    line-height: 1.05;
}

.login-header p[b-6ti2qv3ehv] {
    margin: 12px 0 0;
    font-size: 0.98rem;
    color: #64748b;
    line-height: 1.6;
}

.form-group[b-6ti2qv3ehv] {
    margin-bottom: 14px;
}

.form-control[b-6ti2qv3ehv] {
    width: 100%;
    height: 58px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid #d6deea;
    background: #ffffff;
    font-size: 1rem;
    color: #0f172a;
    outline: none;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .12s ease;
}

    .form-control[b-6ti2qv3ehv]::placeholder {
        color: #94a3b8;
    }

    .form-control:hover[b-6ti2qv3ehv] {
        border-color: #bfccdc;
        background: #fcfdff;
    }

    .form-control:focus[b-6ti2qv3ehv] {
        border-color: #2563eb;
        box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12);
        background: #ffffff;
    }

.btn[b-6ti2qv3ehv] {
    border: none;
    cursor: pointer;
    transition: all .18s ease;
    box-sizing: border-box;
    font-family: inherit;
}

.login-btn[b-6ti2qv3ehv] {
    width: 100%;
    height: 58px;
    margin-top: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28);
}

    .login-btn:hover:not(:disabled)[b-6ti2qv3ehv] {
        transform: translateY(-1px);
        box-shadow: 0 18px 34px rgba(37, 99, 235, 0.34);
    }

    .login-btn:active:not(:disabled)[b-6ti2qv3ehv] {
        transform: translateY(0);
    }

.sub-action-row[b-6ti2qv3ehv] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 16px;
}

.btn-sub[b-6ti2qv3ehv] {
    height: 46px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #d8e1ec;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

    .btn-sub:hover:not(:disabled)[b-6ti2qv3ehv] {
        background: #eff6ff;
        border-color: #93c5fd;
        color: #1d4ed8;
        transform: translateY(-1px);
    }

.message-box[b-6ti2qv3ehv] {
    margin-top: 18px;
    padding: 14px 15px;
    border-radius: 14px;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
    word-break: break-word;
}

    .message-box.success[b-6ti2qv3ehv] {
        background: #ecfdf5;
        border: 1px solid #a7f3d0;
        color: #065f46;
    }

    .message-box.error[b-6ti2qv3ehv] {
        background: #fef2f2;
        border: 1px solid #fecaca;
        color: #b91c1c;
    }

:deep(.validation-summary-errors)[b-6ti2qv3ehv] {
    margin-top: 0;
    margin-bottom: 14px;
    padding: 14px 15px;
    border-radius: 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
}

:deep(.validation-summary-errors ul)[b-6ti2qv3ehv] {
    margin: 0;
    padding-left: 18px;
}

:deep(.validation-message)[b-6ti2qv3ehv] {
    display: block;
    margin-top: 8px;
    padding-left: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #dc2626;
}

.form-control:disabled[b-6ti2qv3ehv],
.btn:disabled[b-6ti2qv3ehv] {
    cursor: not-allowed;
}

.form-control:disabled[b-6ti2qv3ehv] {
    background: #f8fafc;
    color: #94a3b8;
}

.btn:disabled[b-6ti2qv3ehv] {
    opacity: 0.8;
    transform: none;
}

@media (max-width: 640px) {
    .login-page[b-6ti2qv3ehv] {
        padding: 16px;
    }

    .login-card[b-6ti2qv3ehv] {
        max-width: 100%;
        padding: 34px 22px 24px;
        border-radius: 22px;
    }

    .logo-wrap[b-6ti2qv3ehv] {
        margin-bottom: 22px;
    }

    .logo-img[b-6ti2qv3ehv] {
        width: 220px;
        max-width: 76%;
    }

    .login-header[b-6ti2qv3ehv] {
        margin-bottom: 24px;
    }

        .login-header h3[b-6ti2qv3ehv] {
            font-size: 1.9rem;
        }

    .form-control[b-6ti2qv3ehv],
    .login-btn[b-6ti2qv3ehv],
    .btn-sub[b-6ti2qv3ehv] {
        height: 52px;
    }
}
/* /Components/Common/Member/Login.razor.rz.scp.css */
:global(html)[b-v6yg6oq4sc],
:global(body)[b-v6yg6oq4sc] {
    margin: 0;
    min-height: 100vh;
    font-family: "Segoe UI", "Malgun Gothic", sans-serif;
    background: radial-gradient(circle at 15% 20%, rgba(59, 130, 246, 0.18), transparent 24%), radial-gradient(circle at 85% 80%, rgba(14, 165, 233, 0.14), transparent 22%), linear-gradient(135deg, #0b1220 0%, #111827 50%, #172033 100%);
}

.login-page[b-v6yg6oq4sc] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.login-card[b-v6yg6oq4sc] {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding: 44px 40px 34px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28), 0 8px 24px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.login-header[b-v6yg6oq4sc] {
    margin-bottom: 30px;
    text-align: center;
}

.logo-wrap[b-v6yg6oq4sc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 26px;
}

.logo-img[b-v6yg6oq4sc] {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.login-header h3[b-v6yg6oq4sc] {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: #0f172a;
    line-height: 1.05;
}

.login-header p[b-v6yg6oq4sc] {
    margin: 12px 0 0;
    font-size: 0.98rem;
    color: #64748b;
    line-height: 1.6;
}

.form-group[b-v6yg6oq4sc] {
    margin-bottom: 14px;
}

.form-control[b-v6yg6oq4sc] {
    width: 100%;
    height: 58px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid #d6deea;
    background: #ffffff;
    font-size: 1rem;
    color: #0f172a;
    outline: none;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .12s ease;
}

    .form-control[b-v6yg6oq4sc]::placeholder {
        color: #94a3b8;
    }

    .form-control:hover[b-v6yg6oq4sc] {
        border-color: #bfccdc;
        background: #fcfdff;
    }

    .form-control:focus[b-v6yg6oq4sc] {
        border-color: #2563eb;
        box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12);
        background: #ffffff;
    }

.password-wrap[b-v6yg6oq4sc] {
    position: relative;
}

.password-input[b-v6yg6oq4sc] {
    padding-right: 64px;
}

.password-toggle[b-v6yg6oq4sc] {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

    .password-toggle:hover:not(:disabled)[b-v6yg6oq4sc] {
        background: #eff6ff;
        border-color: #bfdbfe;
    }

    .password-toggle:active:not(:disabled)[b-v6yg6oq4sc] {
        transform: translateY(-50%) scale(0.96);
    }

.eye-icon-img[b-v6yg6oq4sc] {
    width: 20px;
    height: 20px;
    display: block;
    object-fit: contain;
    opacity: 0.88;
    pointer-events: none;
}

.password-toggle:hover:not(:disabled) .eye-icon-img[b-v6yg6oq4sc] {
    opacity: 1;
}

.capslock-warning[b-v6yg6oq4sc] {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.45;
}

.btn[b-v6yg6oq4sc] {
    border: none;
    cursor: pointer;
    transition: all .18s ease;
    box-sizing: border-box;
    font-family: inherit;
}

.login-btn[b-v6yg6oq4sc] {
    width: 100%;
    height: 58px;
    margin-top: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28);
}

    .login-btn:hover:not(:disabled)[b-v6yg6oq4sc] {
        transform: translateY(-1px);
        box-shadow: 0 18px 34px rgba(37, 99, 235, 0.34);
    }

    .login-btn:active:not(:disabled)[b-v6yg6oq4sc] {
        transform: translateY(0);
    }

.sub-action-row[b-v6yg6oq4sc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 16px;
}

.btn-sub[b-v6yg6oq4sc] {
    height: 46px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #d8e1ec;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

    .btn-sub:hover:not(:disabled)[b-v6yg6oq4sc] {
        background: #eff6ff;
        border-color: #93c5fd;
        color: #1d4ed8;
        transform: translateY(-1px);
    }

.message-box[b-v6yg6oq4sc] {
    margin-top: 18px;
    padding: 14px 15px;
    border-radius: 14px;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
}

    .message-box.error[b-v6yg6oq4sc] {
        background: #fef2f2;
        border: 1px solid #fecaca;
        color: #b91c1c;
    }

.loading-overlay[b-v6yg6oq4sc] {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(2px);
    border-radius: 28px;
}

.loading-box[b-v6yg6oq4sc] {
    min-width: 180px;
    padding: 20px 22px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(37, 99, 235, 0.12);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.14);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.spinner[b-v6yg6oq4sc] {
    width: 42px;
    height: 42px;
    border: 4px solid #dbeafe;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: spin-b-v6yg6oq4sc .8s linear infinite;
}

.loading-text[b-v6yg6oq4sc] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e3a8a;
    letter-spacing: -0.01em;
}

.form-control:disabled[b-v6yg6oq4sc],
.btn:disabled[b-v6yg6oq4sc],
.password-toggle:disabled[b-v6yg6oq4sc] {
    cursor: not-allowed;
}

.form-control:disabled[b-v6yg6oq4sc] {
    background: #f8fafc;
    color: #94a3b8;
}

.btn:disabled[b-v6yg6oq4sc],
.password-toggle:disabled[b-v6yg6oq4sc] {
    opacity: 0.8;
    transform: none;
}

@keyframes spin-b-v6yg6oq4sc {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 640px) {
    .login-page[b-v6yg6oq4sc] {
        padding: 16px;
    }

    .login-card[b-v6yg6oq4sc] {
        max-width: 100%;
        padding: 34px 22px 24px;
        border-radius: 22px;
    }

    .logo-wrap[b-v6yg6oq4sc] {
        margin-bottom: 22px;
    }

    .logo-img[b-v6yg6oq4sc] {
        width: 100%;
        max-width: 100%;
    }

    .login-header[b-v6yg6oq4sc] {
        margin-bottom: 24px;
    }

        .login-header h3[b-v6yg6oq4sc] {
            font-size: 1.9rem;
        }

    .sub-action-row[b-v6yg6oq4sc] {
        grid-template-columns: 1fr;
    }

    .form-control[b-v6yg6oq4sc],
    .login-btn[b-v6yg6oq4sc],
    .btn-sub[b-v6yg6oq4sc] {
        height: 52px;
    }

    .password-input[b-v6yg6oq4sc] {
        padding-right: 58px;
    }

    .password-toggle[b-v6yg6oq4sc] {
        right: 8px;
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }

    .eye-icon-img[b-v6yg6oq4sc] {
        width: 18px;
        height: 18px;
    }

    .loading-overlay[b-v6yg6oq4sc] {
        border-radius: 22px;
    }
}
/* /Components/Common/Member/Profile.razor.rz.scp.css */
/* ── 전체 레이아웃 ── */
.profile-page[b-r1e6www2w4] {
    padding: 24px 32px;
    max-width: 1100px;
    margin: 0 auto;
}

.profile-layout[b-r1e6www2w4] {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: start;
}

/* ── 토스트 알림 ── */
.profile-toast[b-r1e6www2w4] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 13.5px;
    font-weight: 500;
    animation: slideDown-b-r1e6www2w4 0.3s ease;
}

.toast-success[b-r1e6www2w4] {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}

.toast-error[b-r1e6www2w4] {
    background: #fce4ec;
    color: #c62828;
    border: 1px solid #ef9a9a;
}

@keyframes slideDown-b-r1e6www2w4 {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── 좌측 사이드바 ── */
.profile-sidebar[b-r1e6www2w4] {
    background: var(--bg-card, #fff);
    border: 1px solid var(--border-color, #e8eaed);
    border-radius: 12px;
    overflow: hidden;
}

.avatar-section[b-r1e6www2w4] {
    padding: 28px 20px 20px;
    text-align: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
}

.avatar-wrapper[b-r1e6www2w4] {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 14px;
}

.avatar-img[b-r1e6www2w4] {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255,255,255,0.6);
    background: #f0f0f0;
}

.avatar-overlay[b-r1e6www2w4] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: transform 0.2s;
    color: #555;
    font-size: 14px;
}

.avatar-overlay:hover[b-r1e6www2w4] {
    transform: scale(1.1);
    color: #333;
}

.avatar-name[b-r1e6www2w4] {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 2px;
}

.avatar-sub[b-r1e6www2w4] {
    font-size: 12.5px;
    opacity: 0.85;
    margin-bottom: 8px;
}

.avatar-badge[b-r1e6www2w4] {
    display: inline-block;
    padding: 3px 12px;
    background: rgba(255,255,255,0.2);
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.sidebar-info[b-r1e6www2w4] {
    padding: 16px 20px;
    background: var(--bg-card, #fff);
}

.info-row[b-r1e6www2w4] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    font-size: 13px;
    color: var(--text-secondary, #495057);
    border-bottom: 1px solid var(--border-color, #f1f3f5);
}

.info-row:last-child[b-r1e6www2w4] { border-bottom: none; }

.info-row i[b-r1e6www2w4] {
    font-size: 15px;
    color: var(--text-muted, #868e96);
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}

/* ── 우측 컨텐츠 ── */
.profile-content[b-r1e6www2w4] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.profile-section[b-r1e6www2w4] {
    background: var(--bg-card, #fff);
    border: 1px solid var(--border-color, #e8eaed);
    border-radius: 12px;
    padding: 20px 24px;
}

.section-header[b-r1e6www2w4] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color, #f1f3f5);
}

.section-header i[b-r1e6www2w4] {
    font-size: 18px;
    color: #667eea;
}

.section-header h5[b-r1e6www2w4] {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary, #343a40);
}

/* ── 폼 그리드 ── */
.field-grid[b-r1e6www2w4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
}

.field-item label[b-r1e6www2w4] {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted, #868e96);
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.field-item .required[b-r1e6www2w4] { color: #e03131; }

.field-hint[b-r1e6www2w4] {
    display: block;
    margin-top: 5px;
    font-size: 11.5px;
    color: var(--text-muted, #868e96);
    line-height: 1.35;
}

.field-item .form-control[b-r1e6www2w4],
.field-item .form-select[b-r1e6www2w4] {
    font-size: 13.5px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid var(--border-color, #dee2e6);
    background: var(--bg-card, #fff);
    color: var(--text-primary, #212529);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.field-item .form-control:focus[b-r1e6www2w4],
.field-item .form-select:focus[b-r1e6www2w4] {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102,126,234,0.15);
    outline: none;
}

.field-item .form-control:disabled[b-r1e6www2w4],
.field-item .form-select:disabled[b-r1e6www2w4] {
    background: var(--bg-surface, #f8f9fa);
    color: var(--text-muted, #6c757d);
    opacity: 0.75;
}

/* ── 버튼 영역 ── */
.profile-actions[b-r1e6www2w4] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.btn-save[b-r1e6www2w4] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 10px 28px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
}

.btn-save:hover:not(:disabled)[b-r1e6www2w4] { opacity: 0.9; transform: translateY(-1px); }
.btn-save:disabled[b-r1e6www2w4] { opacity: 0.6; cursor: not-allowed; }

.btn-cancel[b-r1e6www2w4] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 10px 28px;
    background: var(--bg-card, #fff);
    color: var(--text-secondary, #495057);
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-cancel:hover:not(:disabled)[b-r1e6www2w4] { background: var(--bg-surface, #f8f9fa); }
.btn-cancel:disabled[b-r1e6www2w4] { opacity: 0.6; cursor: not-allowed; }

/* ── 반응형 ── */
@media (max-width: 860px) {
    .profile-layout[b-r1e6www2w4] { grid-template-columns: 1fr; }
    .profile-page[b-r1e6www2w4]   { padding: 16px; }
    .field-grid[b-r1e6www2w4]     { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════
   다크 테마
   ══════════════════════════════════════════════ */
[data-theme="dark"] .profile-sidebar[b-r1e6www2w4] {
    background: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="dark"] .sidebar-info[b-r1e6www2w4] {
    background: var(--bg-card);
}

[data-theme="dark"] .info-row[b-r1e6www2w4] {
    color: var(--text-primary);
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .info-row i[b-r1e6www2w4] {
    color: var(--text-muted);
}

[data-theme="dark"] .profile-section[b-r1e6www2w4] {
    background: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="dark"] .section-header[b-r1e6www2w4] {
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .section-header h5[b-r1e6www2w4] {
    color: var(--text-primary);
}

[data-theme="dark"] .field-item label[b-r1e6www2w4] {
    color: var(--text-muted);
}

[data-theme="dark"] .field-item .form-control[b-r1e6www2w4],
[data-theme="dark"] .field-item .form-select[b-r1e6www2w4] {
    background: var(--bg-surface);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .field-item .form-control:focus[b-r1e6www2w4],
[data-theme="dark"] .field-item .form-select:focus[b-r1e6www2w4] {
    border-color: #818cf8;
    box-shadow: 0 0 0 3px rgba(129,140,248,0.2);
}

[data-theme="dark"] .field-item .form-control:disabled[b-r1e6www2w4],
[data-theme="dark"] .field-item .form-select:disabled[b-r1e6www2w4] {
    background: var(--bg-main);
    color: var(--text-muted);
}

[data-theme="dark"] .btn-cancel[b-r1e6www2w4] {
    background: var(--bg-surface);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .btn-cancel:hover:not(:disabled)[b-r1e6www2w4] {
    background: var(--bg-hover);
}

[data-theme="dark"] .toast-success[b-r1e6www2w4] {
    background: #0d3320;
    color: #4ade80;
    border-color: #166534;
}

[data-theme="dark"] .toast-error[b-r1e6www2w4] {
    background: #3b1318;
    color: #f87171;
    border-color: #7f1d1d;
}

/* ── 입사일 분할 입력 ─────────────────────────────────────────── */
.date-parts-row[b-r1e6www2w4] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.date-parts-row .date-part.year[b-r1e6www2w4] { width: 72px; text-align: center; }
.date-parts-row .date-part.md[b-r1e6www2w4]   { width: 52px; text-align: center; }
.date-parts-row .date-sep[b-r1e6www2w4]       { color: var(--text-muted, #868e96); font-weight: 600; user-select: none; }
/* /Components/Common/Member/Register.razor.rz.scp.css */
:global(html)[b-arffsj1z6z],
:global(body)[b-arffsj1z6z] {
    margin: 0;
    min-height: 100vh;
    font-family: "Segoe UI", "Malgun Gothic", sans-serif;
    background: radial-gradient(circle at 15% 20%, rgba(59, 130, 246, 0.18), transparent 24%), radial-gradient(circle at 85% 80%, rgba(14, 165, 233, 0.14), transparent 22%), linear-gradient(135deg, #0b1220 0%, #111827 50%, #172033 100%);
}

.login-page[b-arffsj1z6z] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.login-card[b-arffsj1z6z] {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding: 44px 40px 34px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28), 0 8px 24px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.login-header[b-arffsj1z6z] {
    margin-bottom: 30px;
    text-align: center;
}

.logo-wrap[b-arffsj1z6z] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
}

.logo-img[b-arffsj1z6z] {
    width: 280px;
    max-width: 78%;
    height: auto;
    display: block;
    object-fit: contain;
}

.login-header h3[b-arffsj1z6z] {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: #0f172a;
    line-height: 1.05;
}

.login-header p[b-arffsj1z6z] {
    margin: 12px 0 0;
    font-size: 0.98rem;
    color: #64748b;
    line-height: 1.6;
}

.form-group[b-arffsj1z6z] {
    margin-bottom: 14px;
}

.form-control[b-arffsj1z6z] {
    width: 100%;
    height: 58px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid #d6deea;
    background: #ffffff;
    font-size: 1rem;
    color: #0f172a;
    outline: none;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .12s ease;
}

    .form-control[b-arffsj1z6z]::placeholder {
        color: #94a3b8;
    }

    .form-control:hover[b-arffsj1z6z] {
        border-color: #bfccdc;
        background: #fcfdff;
    }

    .form-control:focus[b-arffsj1z6z] {
        border-color: #2563eb;
        box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12);
        background: #ffffff;
    }

.btn[b-arffsj1z6z] {
    border: none;
    cursor: pointer;
    transition: all .18s ease;
    box-sizing: border-box;
    font-family: inherit;
}

.login-btn[b-arffsj1z6z] {
    width: 100%;
    height: 58px;
    margin-top: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28);
}

    .login-btn:hover:not(:disabled)[b-arffsj1z6z] {
        transform: translateY(-1px);
        box-shadow: 0 18px 34px rgba(37, 99, 235, 0.34);
    }

    .login-btn:active:not(:disabled)[b-arffsj1z6z] {
        transform: translateY(0);
    }

.sub-action-row[b-arffsj1z6z] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 16px;
}

.btn-sub[b-arffsj1z6z] {
    height: 46px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #d8e1ec;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

    .btn-sub:hover:not(:disabled)[b-arffsj1z6z] {
        background: #eff6ff;
        border-color: #93c5fd;
        color: #1d4ed8;
        transform: translateY(-1px);
    }

.message-box[b-arffsj1z6z] {
    margin-top: 18px;
    padding: 14px 15px;
    border-radius: 14px;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
    word-break: break-word;
}

    .message-box.success[b-arffsj1z6z] {
        background: #ecfdf5;
        border: 1px solid #a7f3d0;
        color: #065f46;
    }

    .message-box.error[b-arffsj1z6z] {
        background: #fef2f2;
        border: 1px solid #fecaca;
        color: #b91c1c;
    }

:deep(.validation-summary-errors)[b-arffsj1z6z] {
    margin-top: 0;
    margin-bottom: 14px;
    padding: 14px 15px;
    border-radius: 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
}

:deep(.validation-summary-errors ul)[b-arffsj1z6z] {
    margin: 0;
    padding-left: 18px;
}

:deep(.validation-message)[b-arffsj1z6z] {
    display: block;
    margin-top: 8px;
    padding-left: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #dc2626;
}

.form-control:disabled[b-arffsj1z6z],
.btn:disabled[b-arffsj1z6z] {
    cursor: not-allowed;
}

.form-control:disabled[b-arffsj1z6z] {
    background: #f8fafc;
    color: #94a3b8;
}

.btn:disabled[b-arffsj1z6z] {
    opacity: 0.8;
    transform: none;
}

@media (max-width: 640px) {
    .login-page[b-arffsj1z6z] {
        padding: 16px;
    }

    .login-card[b-arffsj1z6z] {
        max-width: 100%;
        padding: 34px 22px 24px;
        border-radius: 22px;
    }

    .logo-wrap[b-arffsj1z6z] {
        margin-bottom: 22px;
    }

    .logo-img[b-arffsj1z6z] {
        width: 220px;
        max-width: 76%;
    }

    .login-header[b-arffsj1z6z] {
        margin-bottom: 24px;
    }

        .login-header h3[b-arffsj1z6z] {
            font-size: 1.9rem;
        }

    .form-control[b-arffsj1z6z],
    .login-btn[b-arffsj1z6z],
    .btn-sub[b-arffsj1z6z] {
        height: 52px;
    }
}
/* /Components/Common/Member/ResetPassword.razor.rz.scp.css */
:global(html)[b-031w2q50jn],
:global(body)[b-031w2q50jn] {
    margin: 0;
    min-height: 100vh;
    font-family: "Segoe UI", "Malgun Gothic", sans-serif;
    background: radial-gradient(circle at 15% 20%, rgba(59, 130, 246, 0.18), transparent 24%), radial-gradient(circle at 85% 80%, rgba(14, 165, 233, 0.14), transparent 22%), linear-gradient(135deg, #0b1220 0%, #111827 50%, #172033 100%);
}

.login-page[b-031w2q50jn] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.login-card[b-031w2q50jn] {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding: 44px 40px 34px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28), 0 8px 24px rgba(15, 23, 42, 0.12);
    box-sizing: border-box;
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.login-header[b-031w2q50jn] {
    margin-bottom: 30px;
    text-align: center;
}

.logo-wrap[b-031w2q50jn] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
}

.logo-img[b-031w2q50jn] {
    width: 280px;
    max-width: 78%;
    height: auto;
    display: block;
    object-fit: contain;
}

.login-header h3[b-031w2q50jn] {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: #0f172a;
    line-height: 1.05;
}

.login-header p[b-031w2q50jn] {
    margin: 12px 0 0;
    font-size: 0.98rem;
    color: #64748b;
    line-height: 1.6;
}

.form-group[b-031w2q50jn] {
    margin-bottom: 14px;
}

.form-control[b-031w2q50jn] {
    width: 100%;
    height: 58px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid #d6deea;
    background: #ffffff;
    font-size: 1rem;
    color: #0f172a;
    outline: none;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .12s ease;
}

    .form-control[b-031w2q50jn]::placeholder {
        color: #94a3b8;
    }

    .form-control:hover[b-031w2q50jn] {
        border-color: #bfccdc;
        background: #fcfdff;
    }

    .form-control:focus[b-031w2q50jn] {
        border-color: #2563eb;
        box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12);
        background: #ffffff;
    }

.btn[b-031w2q50jn] {
    border: none;
    cursor: pointer;
    transition: all .18s ease;
    box-sizing: border-box;
    font-family: inherit;
}

.login-btn[b-031w2q50jn] {
    width: 100%;
    height: 58px;
    margin-top: 10px;
    border-radius: 16px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28);
}

    .login-btn:hover:not(:disabled)[b-031w2q50jn] {
        transform: translateY(-1px);
        box-shadow: 0 18px 34px rgba(37, 99, 235, 0.34);
    }

    .login-btn:active:not(:disabled)[b-031w2q50jn] {
        transform: translateY(0);
    }

.sub-action-row[b-031w2q50jn] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 16px;
}

.btn-sub[b-031w2q50jn] {
    height: 46px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #d8e1ec;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

    .btn-sub:hover:not(:disabled)[b-031w2q50jn] {
        background: #eff6ff;
        border-color: #93c5fd;
        color: #1d4ed8;
        transform: translateY(-1px);
    }

.message-box[b-031w2q50jn] {
    margin-top: 18px;
    padding: 14px 15px;
    border-radius: 14px;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
    word-break: break-word;
}

    .message-box.success[b-031w2q50jn] {
        background: #ecfdf5;
        border: 1px solid #a7f3d0;
        color: #065f46;
    }

    .message-box.error[b-031w2q50jn] {
        background: #fef2f2;
        border: 1px solid #fecaca;
        color: #b91c1c;
    }

:deep(.validation-summary-errors)[b-031w2q50jn] {
    margin-top: 0;
    margin-bottom: 14px;
    padding: 14px 15px;
    border-radius: 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.55;
}

:deep(.validation-summary-errors ul)[b-031w2q50jn] {
    margin: 0;
    padding-left: 18px;
}

:deep(.validation-message)[b-031w2q50jn] {
    display: block;
    margin-top: 8px;
    padding-left: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #dc2626;
}

.form-control:disabled[b-031w2q50jn],
.btn:disabled[b-031w2q50jn] {
    cursor: not-allowed;
}

.form-control:disabled[b-031w2q50jn] {
    background: #f8fafc;
    color: #94a3b8;
}

.btn:disabled[b-031w2q50jn] {
    opacity: 0.8;
    transform: none;
}

@media (max-width: 640px) {
    .login-page[b-031w2q50jn] {
        padding: 16px;
    }

    .login-card[b-031w2q50jn] {
        max-width: 100%;
        padding: 34px 22px 24px;
        border-radius: 22px;
    }

    .logo-wrap[b-031w2q50jn] {
        margin-bottom: 22px;
    }

    .logo-img[b-031w2q50jn] {
        width: 220px;
        max-width: 76%;
    }

    .login-header[b-031w2q50jn] {
        margin-bottom: 24px;
    }

        .login-header h3[b-031w2q50jn] {
            font-size: 1.9rem;
        }

    .form-control[b-031w2q50jn],
    .login-btn[b-031w2q50jn],
    .btn-sub[b-031w2q50jn] {
        height: 52px;
    }
}
/* /Components/Common/NoticePopup.razor.rz.scp.css */
/* ���� ���� �˾� �������� ���� */
.notice-popup-overlay[b-gvryqftvfw] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.5);
    display: flex; align-items: center; justify-content: center;
    z-index: 2000; animation: fadeIn-b-gvryqftvfw 0.25s ease;
}
@keyframes fadeIn-b-gvryqftvfw { from { opacity:0; } to { opacity:1; } }

.notice-popup-panel[b-gvryqftvfw] {
    background: var(--bg-surface); border-radius: 16px;
    box-shadow: 0 24px 64px rgba(0,0,0,0.3);
    width: 540px; max-width: 94vw; max-height: 80vh;
    display: flex; flex-direction: column;
    animation: popupIn-b-gvryqftvfw 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes popupIn-b-gvryqftvfw { from { transform: scale(0.88) translateY(20px); opacity:0; } to { transform: scale(1) translateY(0); opacity:1; } }

/* ���� ���� �� */
.popup-tab-bar[b-gvryqftvfw] {
    display: flex; align-items: center; gap: 6px;
    padding: 10px 20px 0;
}
.popup-tab[b-gvryqftvfw] {
    width: 28px; height: 28px; border-radius: 50%;
    border: 1.5px solid var(--border-color); background: var(--bg-main);
    font-size: 12px; font-weight: 600; color: var(--text-muted);
    cursor: pointer; transition: all 0.15s;
}
.popup-tab.active[b-gvryqftvfw] {
    background: var(--accent); color: #fff; border-color: var(--accent);
}
.popup-count[b-gvryqftvfw] {
    margin-left: auto; font-size: 11.5px; color: var(--text-muted);
}

/* ��� */
.popup-head[b-gvryqftvfw] {
    display: flex; align-items: center; gap: 8px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid var(--border-color-light);
}
.popup-title[b-gvryqftvfw] {
    flex: 1; font-size: 15px; font-weight: 700; color: var(--text-primary);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.popup-close[b-gvryqftvfw] {
    background: none; border: none; cursor: pointer;
    font-size: 15px; color: var(--text-muted); padding: 4px;
    border-radius: 4px; flex-shrink: 0;
}
.popup-close:hover[b-gvryqftvfw] { background: var(--hover-bg); }

/* ���� */
.popup-body[b-gvryqftvfw] {
    flex: 1; overflow-y: auto; padding: 16px 20px;
    font-size: 13.5px; line-height: 1.75; color: var(--text-primary);
    min-height: 120px; max-height: 380px;
}

/* Ǫ�� */
.popup-foot[b-gvryqftvfw] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 20px;
    border-top: 1px solid var(--border-color-light);
}
.hide-today[b-gvryqftvfw] {
    display: flex; align-items: center; gap: 6px;
    font-size: 12.5px; color: var(--text-muted); cursor: pointer; user-select: none;
}
.hide-today input[b-gvryqftvfw] { cursor: pointer; accent-color: var(--accent); }

.popup-btn-close[b-gvryqftvfw] {
    padding: 7px 22px;
    background: var(--bg-main); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px;
    font-size: 13px; font-weight: 600; cursor: pointer;
}
.popup-btn-close:hover[b-gvryqftvfw] { background: var(--hover-bg); }

.popup-content[b-gvryqftvfw] {
    overflow-wrap: anywhere;
}

.popup-content img[b-gvryqftvfw] {
    max-width: 100%;
    height: auto;
}

.popup-image-list[b-gvryqftvfw] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.popup-image-list img[b-gvryqftvfw] {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

.popup-file-list[b-gvryqftvfw] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 14px;
}

.popup-file-list a[b-gvryqftvfw] {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-main);
    color: var(--text-primary);
    text-decoration: none;
    font-size: 12.5px;
}
/* /Components/Common/VendorSearchFilter.razor.rz.scp.css */
.vsf-wrap[b-jyql8n6vz4] { display: inline-flex; gap: 4px; align-items: center; }

.vsf-input[b-jyql8n6vz4] {
    font-size: 13px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: var(--bg-input);
    color: var(--text-primary);
    height: 36px;
    box-sizing: border-box;
}

.vsf-btn[b-jyql8n6vz4] {
    height: 36px;
    padding: 0 12px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.vsf-btn:hover[b-jyql8n6vz4] { opacity: 0.9; }
/* /Components/Layout/ChatPanel.razor.rz.scp.css */
/* 패널 헤더 */
.panel-header[b-x8q0qrjsze] {
    display: flex;
    align-items: stretch;
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
    gap: 0;
}

/* 탭 스타일 */
.panel-tabs[b-x8q0qrjsze] {
    display: flex;
    flex: 1;
    gap: 0;
}

.tab-btn[b-x8q0qrjsze] {
    flex: 1;
    padding: 12px 8px;
    border: none;
    background: transparent;
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-bottom: 3px solid transparent;
    transition: all 0.2s;
    white-space: nowrap;
    min-width: 0;
}

.tab-btn i[b-x8q0qrjsze] {
    font-size: 1rem;
}

.tab-btn span[b-x8q0qrjsze] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.tab-btn:hover[b-x8q0qrjsze] {
    color: var(--text-primary);
    background-color: var(--hover-bg);
}

.tab-btn.active[b-x8q0qrjsze] {
    color: var(--accent);
    border-bottom-color: var(--accent);
    background-color: var(--accent-soft);
}

/* 패널 토글 버튼 */
.btn-panel-toggle[b-x8q0qrjsze] {
    width: 44px;
    height: 51px;
    border: none;
    border-left: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all 0.2s;
    flex-shrink: 0;
}

.btn-panel-toggle:hover[b-x8q0qrjsze] {
    background-color: var(--hover-bg);
    color: var(--text-primary);
}

/* ChatPanel 컨테이너 - 전체 레이아웃 */
.chat-panel-wrapper[b-x8q0qrjsze] {
    pointer-events: none;
}

/* 데스크톱: 고정 너비의 사이드 패널 (항상 표시) */
.chat-panel[b-x8q0qrjsze] {
    width: 350px;
    border-right: 1px solid var(--border-color);
    background: var(--bg-surface);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.panel-content[b-x8q0qrjsze] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}


/* 모바일 오버레이 */
.chat-overlay[b-x8q0qrjsze] {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 29;
}

/* FAB (Floating Action Button) */
.chat-fab[b-x8q0qrjsze] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 8px 24px rgba(102, 126, 234, 0.4);
    z-index: 35;
    transition: all 0.3s ease;
    opacity: 0;
    pointer-events: none;
}

.chat-fab.visible[b-x8q0qrjsze] {
    opacity: 1;
    pointer-events: all;
}

.chat-fab:hover[b-x8q0qrjsze] {
    transform: scale(1.1);
    box-shadow: 0 12px 32px rgba(102, 126, 234, 0.6);
}

.chat-fab:active[b-x8q0qrjsze] {
    transform: scale(0.95);
}

.fab-badge[b-x8q0qrjsze] {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #dc2626;
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    border: 2px solid var(--bg-surface);
}

/* 데스크톱 (1200px 이상): 슬라이드인/아웃 패널 */
@media (min-width: 1200px) {
    .chat-panel-wrapper[b-x8q0qrjsze] {
        position: fixed;
        right: 0;
        top: 56px;
        width: 350px;
        height: calc(100vh - 56px);
        z-index: 25;
        transition: right 0.3s ease;
        pointer-events: all;
    }

    .chat-panel-wrapper.open[b-x8q0qrjsze] {
        right: 0;
        pointer-events: all;
    }

    .chat-panel-wrapper:not(.open)[b-x8q0qrjsze] {
        right: -350px;
        pointer-events: none;
    }

    .chat-panel[b-x8q0qrjsze] {
        position: relative;
        width: 350px;
        height: 100%;
        transition: none;
        overflow: hidden;
        border-left: 1px solid var(--border-color);
    }

    .chat-overlay[b-x8q0qrjsze] {
        display: none;
    }

    .chat-fab.visible[b-x8q0qrjsze] {
        opacity: 0;
        pointer-events: none;
    }
}

/* 태블릿 (768px ~ 1199px): 슬라이드인/아웃 토글 */
@media (max-width: 1199px) {
    .chat-panel-wrapper[b-x8q0qrjsze] {
        position: fixed;
        right: 0;
        top: 56px;
        width: 100%;
        height: calc(100vh - 56px);
        grid-template-columns: 1fr;
        pointer-events: none;
    }

    .chat-panel-wrapper.open[b-x8q0qrjsze] {
        pointer-events: all;
    }

    .chat-panel[b-x8q0qrjsze] {
        position: fixed;
        width: 350px;
        height: calc(100vh - 56px);
        right: 0;
        top: 56px;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
        z-index: 31;
    }

    .chat-panel-wrapper.open .chat-panel[b-x8q0qrjsze] {
        transform: translateX(0);
    }

    .chat-display[b-x8q0qrjsze] {
        display: none;
    }

    .chat-overlay[b-x8q0qrjsze] {
        display: none;
    }

    .chat-panel-wrapper.open .chat-overlay[b-x8q0qrjsze] {
        display: block;
    }

    .chat-fab[b-x8q0qrjsze] {
        position: fixed;
        bottom: 24px;
        right: 24px;
    }
}

/* 모바일 (768px 이하): 풀스크린 슬라이드 패널 */
@media (max-width: 768px) {
    .chat-panel-wrapper[b-x8q0qrjsze] {
        position: fixed;
        right: 0;
        top: 56px;
        width: 100%;
        height: calc(100vh - 56px);
        grid-template-columns: 1fr;
        padding: 0;
        pointer-events: none;
    }

    .chat-panel-wrapper.open[b-x8q0qrjsze] {
        pointer-events: all;
    }

    .chat-panel[b-x8q0qrjsze] {
        position: fixed;
        width: 100%;
        height: calc(100vh - 56px);
        right: 0;
        top: 56px;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        border-radius: 0;
        z-index: 31;
    }

    .chat-panel-wrapper.open .chat-panel[b-x8q0qrjsze] {
        transform: translateX(0);
    }

    .chat-display[b-x8q0qrjsze] {
        display: none;
    }

    .chat-overlay[b-x8q0qrjsze] {
        position: fixed;
        inset: 0;
        top: 56px;
        background: rgba(0, 0, 0, 0.5);
        display: none;
        z-index: 30;
    }

    .chat-panel-wrapper.open .chat-overlay[b-x8q0qrjsze] {
        display: block;
    }

    .chat-fab[b-x8q0qrjsze] {
        position: fixed;
        bottom: 20px;
        right: 20px;
        width: 56px;
        height: 56px;
    }
}

/* 에러 토스트 */
.chat-error-toast[b-x8q0qrjsze] {
    position: fixed;
    bottom: 90px;
    right: 24px;
    z-index: 200;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #dc2626;
    color: white;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 500;
    box-shadow: 0 8px 24px rgba(220, 38, 38, 0.4);
    animation: slideUpToast-b-x8q0qrjsze 0.3s ease;
    max-width: 320px;
    pointer-events: none;
}

.chat-error-toast i[b-x8q0qrjsze] {
    font-size: 1rem;
    flex-shrink: 0;
}

@keyframes slideUpToast-b-x8q0qrjsze {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 스크롤 스타일 */
.panel-content[b-x8q0qrjsze]::-webkit-scrollbar {
    width: 6px;
}

.panel-content[b-x8q0qrjsze]::-webkit-scrollbar-track {
    background: transparent;
}

.panel-content[b-x8q0qrjsze]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 3px;
}

.panel-content[b-x8q0qrjsze]::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* 다크 모드 조정 */
[data-theme="dark"] .chat-panel[b-x8q0qrjsze] {
    border-right-color: var(--border-color);
}

[data-theme="dark"] .chat-overlay[b-x8q0qrjsze] {
    background: rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .chat-fab[b-x8q0qrjsze] {
    box-shadow: 0 8px 24px rgba(129, 140, 248, 0.3);
}

[data-theme="dark"] .chat-fab:hover[b-x8q0qrjsze] {
    box-shadow: 0 12px 32px rgba(129, 140, 248, 0.5);
}

/* 애니메이션 */
@keyframes slideInRight-b-x8q0qrjsze {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight-b-x8q0qrjsze {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes fadeInScale-b-x8q0qrjsze {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
/* /Components/Layout/Header.razor.rz.scp.css */
/* ── 헤더 기본 레이아웃: flex + 검색창 절대 중앙 고정 ── */
.header[b-yrdy9iwari] {
    height: 56px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border-color);
    box-sizing: border-box;
    position: sticky;
    top: 0;
    z-index: 100;
    transition: background 0.3s, border-color 0.3s;
}

/* 왼쪽: 로고 */
.header-left[b-yrdy9iwari] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* 중앙: 검색창 — 절대 위치로 항상 헤더 정중앙 */
.header-center[b-yrdy9iwari] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    width: 380px;
    max-width: calc(100% - 480px); /* 좌우 여백 확보 */
    pointer-events: auto;
}

/* 오른쪽: 기능 버튼들 — 우측 끝 고정 */
.header-right[b-yrdy9iwari] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    margin-left: auto;
}

/* ── 로고 ── */
.logo-button[b-yrdy9iwari] {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    border: none; background: transparent; cursor: pointer; padding: 4px 8px;
    border-radius: 10px; transition: background-color 0.15s ease;
}
.logo-button:hover[b-yrdy9iwari] { background: var(--hover-bg); }
.logo-button:focus-visible[b-yrdy9iwari] { outline: 2px solid var(--accent); outline-offset: 2px; }

.logo-img[b-yrdy9iwari] { height: 48px; width: auto; display: block; object-fit: contain; }
.logo-text[b-yrdy9iwari] { font-size: 1.15rem; font-weight: 700; color: var(--text-primary); white-space: nowrap; }

/* ── 시계 박스 ── */
.time-box[b-yrdy9iwari] {
    min-width: 175px; padding: 8px 12px;
    border: 1px solid var(--border-color); border-radius: 10px;
    background: var(--bg-main); font-size: 0.88rem; font-weight: 600;
    color: var(--text-secondary); text-align: center; white-space: nowrap; box-sizing: border-box;
    transition: background 0.3s, color 0.3s, border-color 0.3s;
}

/* ── 프로필 ── */
.profile-wrapper[b-yrdy9iwari] { position: relative; flex-shrink: 0; }
.profile-trigger[b-yrdy9iwari] {
    display: inline-flex; align-items: center; gap: 10px;
    border: none; background: transparent; cursor: pointer;
    padding: 6px 10px; border-radius: 12px; transition: background-color 0.15s ease;
}
.profile-trigger:hover[b-yrdy9iwari] { background: var(--hover-bg); }
.profile-trigger:focus-visible[b-yrdy9iwari] { outline: 2px solid var(--accent); outline-offset: 2px; }

.profile-img[b-yrdy9iwari] {
    width: 40px; height: 40px; border-radius: 50%; object-fit: cover;
    border: 1px solid var(--border-color); background: var(--bg-main);
}
.profile-name[b-yrdy9iwari] { font-weight: 600; color: var(--text-primary); white-space: nowrap; }
.profile-arrow[b-yrdy9iwari] { font-size: 0.8rem; color: var(--text-muted); }

.profile-menu[b-yrdy9iwari] {
    position: absolute; right: 0; top: calc(100% + 10px); width: 220px;
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; box-shadow: 0 12px 28px var(--shadow-sm); overflow: hidden; z-index: 1000;
}
.profile-info[b-yrdy9iwari] { padding: 14px 16px 12px; border-bottom: 1px solid var(--border-color-light); }
.profile-info .name[b-yrdy9iwari] { font-size: 15px; font-weight: 700; color: var(--text-primary); line-height: 1.2; }
.profile-info .sub-text[b-yrdy9iwari] { margin-top: 4px; font-size: 12px; color: var(--text-muted); }

.menu-item[b-yrdy9iwari] {
    width: 100%; padding: 11px 14px; border: none;
    background: var(--bg-surface); text-align: left; cursor: pointer;
    display: flex; align-items: center; gap: 10px;
    color: var(--text-primary); font-size: 0.92rem;
    transition: background-color 0.15s ease;
}
.menu-item:hover[b-yrdy9iwari] { background: var(--hover-bg); }
.menu-item:focus-visible[b-yrdy9iwari] { outline: none; background: var(--accent-soft); }
.menu-item.danger[b-yrdy9iwari] { color: #dc2626; }
.menu-item.danger:hover[b-yrdy9iwari] { background: #fef2f2; }

/* ── 테마 토글 ── */
.theme-toggle[b-yrdy9iwari] {
    width: 36px; height: 36px;
    border: 1px solid var(--border-color); border-radius: 10px;
    background: var(--bg-main); color: var(--text-secondary);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    font-size: 16px; transition: all 0.2s; flex-shrink: 0;
}
.theme-toggle:hover[b-yrdy9iwari] { background: var(--accent-soft); color: var(--accent); border-color: var(--accent); }

/* ── 채팅 버튼 ── */
.btn-chat-header[b-yrdy9iwari] {
    position: relative; width: 44px; height: 44px; border-radius: 50%;
    background: var(--accent); color: white; border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; box-shadow: 0 4px 12px rgba(102,126,234,0.3);
    transition: all 0.2s ease; flex-shrink: 0;
}
.btn-chat-header:hover[b-yrdy9iwari] { box-shadow: 0 6px 16px rgba(102,126,234,0.4); transform: scale(1.05); }
.btn-chat-header:active[b-yrdy9iwari] { transform: scale(0.95); }

.chat-header-badge[b-yrdy9iwari] {
    position: absolute; top: -4px; right: -4px;
    min-width: 18px; height: 18px; padding: 0 4px;
    background: #e03131; color: #fff; border-radius: 10px;
    font-size: 10px; font-weight: 700; line-height: 18px; text-align: center;
    border: 2px solid var(--bg-header, #fff); pointer-events: none;
    animation: badge-pop-b-yrdy9iwari 0.25s cubic-bezier(0.34,1.56,0.64,1);
}

@keyframes badge-pop-b-yrdy9iwari {
    from { transform: scale(0); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}

/* ══════════════════════════════════
   반응형 Breakpoints
   ══════════════════════════════════ */

/* ── 1400px 이하: 시계 숨김 ── */
@media (max-width: 1400px) {
    .time-box[b-yrdy9iwari] { display: none; }
}

/* ── 1280px 이하: 이름 숨김, gap 축소 ── */
@media (max-width: 1280px) {
    .header-right[b-yrdy9iwari] { gap: 8px; }
    .profile-name[b-yrdy9iwari] { display: none; }
    .header-center[b-yrdy9iwari] { max-width: calc(100% - 360px); }
}

/* ── 1024px 이하: 검색창 더 좁게 ── */
@media (max-width: 1024px) {
    .header-center[b-yrdy9iwari] { width: 280px; max-width: calc(100% - 280px); }
}

/* ── 1199px 이하: 로고 숨김 ── */
@media (max-width: 1199px) and (min-width: 769px) {
    .header[b-yrdy9iwari] { padding: 0 16px; }
    .header-left[b-yrdy9iwari] { display: none; }
    .header-center[b-yrdy9iwari] { max-width: calc(100% - 260px); }
    .logo-img[b-yrdy9iwari] { height: 42px; }
    .profile-name[b-yrdy9iwari] { display: none; }
}

/* ── 768px 이하: 헤더 숨김 (모바일) ── */
@media (max-width: 768px) {
    .header[b-yrdy9iwari] { display: none; }
}
/* /Components/Layout/LoginLayout.razor.rz.scp.css */
.login-layout[b-ok9f2l1aow] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-qo6t0o8jpn] {
    display: flex;
    height: 100vh;
    height: 100dvh;
    background-color: var(--bg-sidebar);
    position: relative;
    overflow: hidden;
}

.sidebar[b-qo6t0o8jpn] {
    background-color: var(--bg-sidebar);
    color: white;
    transition: width 0.3s ease, transform 0.3s ease;
    overflow: hidden;
    border-right: 1px solid var(--border-color);
    position: relative;
    z-index: 20;
    flex-shrink: 0;
}

.page.sidebar-expanded .sidebar[b-qo6t0o8jpn] {
    width: 250px;
}

.page.sidebar-collapsed .sidebar[b-qo6t0o8jpn] {
    width: 72px;
}

.main-area[b-qo6t0o8jpn] {
    flex: 1;
    min-width: 0;
    background-color: var(--bg-main);
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    transition: background-color 0.3s;
    overflow-y: auto;
    border-right: 1px solid var(--border-color);
}

/* ChatPanel wrapper - 레이아웃 공간을 차지하지 않음 (ChatPanel.razor.css에서 position:fixed 처리) */
[b-qo6t0o8jpn] .chat-panel-wrapper {
    background: transparent;
    border: none;
}

.content[b-qo6t0o8jpn] {
    flex: 1;
    padding: 0;
    background-color: var(--bg-main);
    color: var(--text-primary);
    transition: background-color 0.3s, color 0.3s;
    overflow-y: auto;
}

.mobile-topbar[b-qo6t0o8jpn] {
    display: none;
}

.mobile-overlay[b-qo6t0o8jpn] {
    display: none;
}

@media (max-width: 768px) {
    .page[b-qo6t0o8jpn] {
        display: block;
        position: relative;
    }

    .sidebar[b-qo6t0o8jpn] {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        height: 100dvh;
        width: 250px !important;
        transform: translateX(-100%);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
        z-index: 30;
    }

    .page.sidebar-expanded .sidebar[b-qo6t0o8jpn] {
        transform: translateX(0);
    }

    .page.sidebar-collapsed .sidebar[b-qo6t0o8jpn] {
        transform: translateX(-100%);
    }

    .main-area[b-qo6t0o8jpn] {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        padding-top: 56px; /* mobile-topbar 높이만큼 밀어내기 */
    }

    .content[b-qo6t0o8jpn] {
        padding-top: 0;
        min-height: 0;
    }

    .mobile-topbar[b-qo6t0o8jpn] {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 56px;
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        align-items: center;
        padding: 0 16px;
        background: linear-gradient(90deg, #0f172a, #1e1b4b);
        color: white;
        z-index: 10;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    }

    .mobile-menu-btn[b-qo6t0o8jpn] {
        grid-column: 1;
        border: none;
        background: rgba(255, 255, 255, 0.08);
        color: white;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        font-size: 1.2rem;
        cursor: pointer;
    }

    .mobile-menu-btn:hover[b-qo6t0o8jpn] {
        background: rgba(255, 255, 255, 0.16);
    }

    .mobile-logo-slot[b-qo6t0o8jpn] {
        grid-column: 2;
        width: 100%;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-logo[b-qo6t0o8jpn] {
        width: 220px;
        max-width: 100%;
        height: auto;
        max-height: 30px;
        object-fit: contain;
        object-position: center;
        display: block;
        pointer-events: none;
    }

    .mobile-overlay[b-qo6t0o8jpn] {
        position: fixed;
        inset: 0;
        background-color: rgba(0, 0, 0, 0.35);
        z-index: 25;
        display: block;
    }

    .page.sidebar-collapsed .mobile-overlay[b-qo6t0o8jpn] {
        display: none;
    }

    /* 모바일: ChatPanel 스타일 */
    [b-qo6t0o8jpn] .chat-panel-wrapper {
        width: 100% !important;
        height: calc(100vh - 56px) !important;
        height: calc(100dvh - 56px) !important;
        position: fixed !important;
        right: 0 !important;
        top: 56px !important;
        background: transparent !important;
        border: none !important;
        z-index: 29 !important;
        pointer-events: none !important;
    }

    [b-qo6t0o8jpn] .chat-panel-wrapper.open {
        pointer-events: all !important;
    }

    [b-qo6t0o8jpn] .chat-panel {
        position: fixed !important;
        top: 56px !important;
        right: 0 !important;
        width: 100% !important;
        height: calc(100vh - 56px) !important;
        height: calc(100dvh - 56px) !important;
        background: var(--bg-surface) !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s ease !important;
        z-index: 31 !important;
    }

    [b-qo6t0o8jpn] .chat-panel-wrapper.open .chat-panel {
        transform: translateX(0) !important;
    }
}
/* /Components/Layout/MenuNode.razor.rz.scp.css */
.menu-node[b-5qd7vrjycm] {
    width: 100%;
}

.menu-item[b-5qd7vrjycm] {
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    margin: 4px 8px;
    border-radius: 10px;
    color: #dbe4f0;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
}

    .menu-item:hover[b-5qd7vrjycm] {
        background: linear-gradient( 90deg, rgba(59, 130, 246, 0.20), rgba(99, 102, 241, 0.20) );
        color: #ffffff;
    }

    .menu-item.active[b-5qd7vrjycm] {
        background: linear-gradient( 90deg, #2563eb, #4f46e5 );
        color: #ffffff;
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28);
    }

.menu-item-left[b-5qd7vrjycm] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.menu-icon[b-5qd7vrjycm] {
    width: 20px;
    min-width: 20px;
    text-align: center;
    font-size: 1rem;
}

.menu-text[b-5qd7vrjycm] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.menu-arrow[b-5qd7vrjycm] {
    transition: transform 0.2s ease;
    opacity: 0.8;
}

    .menu-arrow.expanded[b-5qd7vrjycm] {
        transform: rotate(180deg);
    }

.menu-children[b-5qd7vrjycm] {
    margin-left: 8px;
}

.level-2 .menu-item[b-5qd7vrjycm] {
    margin-left: 18px;
    background-color: rgba(255, 255, 255, 0.02);
}

.level-3 .menu-item[b-5qd7vrjycm] {
    margin-left: 32px;
    font-size: 0.95rem;
    background-color: rgba(255, 255, 255, 0.015);
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-wrapper[b-1qc93xiqjk] {
    height: 100vh;
    display: flex;
    flex-direction: column;
    color: white;
    background: linear-gradient( 180deg, #0f172a 0%, #1e1b4b 55%, #020617 100% );
    position: relative;
}

    .nav-wrapper[b-1qc93xiqjk]::after {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient( circle at top left, rgba(99, 102, 241, 0.15), transparent 55% );
        pointer-events: none;
    }

.nav-header[b-1qc93xiqjk] {
    position: relative;
    z-index: 1;
    height: 60px;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    padding: 0 12px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.toggle-btn[b-1qc93xiqjk] {
    width: 40px;
    height: 40px;
    border: none;
    background: rgba(255,255,255,0.06);
    color: white;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1.1rem;
    transition: all 0.2s ease;
}

    .toggle-btn:hover[b-1qc93xiqjk] {
        background: rgba(255,255,255,0.15);
    }

.brand-logo-slot[b-1qc93xiqjk] {
    grid-column: 2;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-logo[b-1qc93xiqjk] {
    display: block;
    width: 148px;
    max-width: 100%;
    height: auto;
    max-height: 32px;
    object-fit: contain;
    object-position: center;
}

.nav-scrollable[b-1qc93xiqjk] {
    position: relative;
    z-index: 1;
    flex: 1;
    overflow-y: auto;
    padding: 10px 0;
}
/* /Components/Layout/TabBar.razor.rz.scp.css */
.tab-shell[b-7qq88wo93p] {
    display: flex;
    align-items: stretch;
    gap: 4px;
    padding: 6px 12px 0;
    background: var(--bg-main);
    border-bottom: 1px solid var(--border-color);
    min-height: 40px;
    transition: background 0.3s, border-color 0.3s;
    position: relative;
}

.tab-bar[b-7qq88wo93p] {
    display: flex;
    align-items: end;
    gap: 4px;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-behavior: smooth;
}

.tab-bar[b-7qq88wo93p]::-webkit-scrollbar { display: none; }

.tab-nav-btn[b-7qq88wo93p] {
    width: 32px;
    min-width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-surface);
    color: var(--text-muted);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.tab-nav-btn:hover[b-7qq88wo93p] {
    color: var(--accent);
    background: var(--hover-bg);
    border-color: rgba(99, 102, 241, 0.28);
}

.tab-nav-btn i[b-7qq88wo93p] {
    font-size: 14px;
    line-height: 1;
}

.tab-item[b-7qq88wo93p] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    max-width: 180px;
    padding: 7px 12px 7px 14px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--text-muted);
    cursor: pointer;
    white-space: nowrap;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    background: transparent;
    transition: all 0.15s ease;
    position: relative;
    user-select: none;
}

.tab-item:hover[b-7qq88wo93p] {
    color: var(--text-primary);
    background: var(--hover-bg);
}

.tab-item.active[b-7qq88wo93p] {
    color: var(--accent);
    font-weight: 700;
    background: var(--bg-surface);
    border-color: var(--border-color);
    box-shadow: 0 -2px 6px rgba(0,0,0,0.04);
    position: relative;
}

.tab-item.active[b-7qq88wo93p]::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--bg-surface);
}

.tab-title[b-7qq88wo93p] {
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tab-close[b-7qq88wo93p] {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: inherit;
    cursor: pointer;
    opacity: 0;
    transition: all 0.15s ease;
}

.tab-close i[b-7qq88wo93p] {
    font-size: 14px;
    line-height: 1;
}

.tab-item:hover .tab-close[b-7qq88wo93p] {
    opacity: 0.65;
}

.tab-close:hover[b-7qq88wo93p] {
    opacity: 1 !important;
    background: rgba(239, 68, 68, 0.12);
    color: #ef4444;
}

@media (max-width: 768px) {
    .tab-shell[b-7qq88wo93p] {
        padding: 4px 8px 0;
        gap: 3px;
    }

    .tab-nav-btn[b-7qq88wo93p] {
        width: 30px;
        min-width: 30px;
        height: 30px;
    }

    .tab-item[b-7qq88wo93p] {
        max-width: 140px;
        padding: 6px 10px;
        font-size: 12px;
    }

    .tab-close[b-7qq88wo93p] {
        opacity: 0.55;
    }
}
/* /Components/Pages/Admin/MyTeamManagement.razor.rz.scp.css */
.mgmt-page[b-k90wvz0l6z] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-k90wvz0l6z] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-k90wvz0l6z 0.3s ease;
}
.toast-success[b-k90wvz0l6z] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-k90wvz0l6z] { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-k90wvz0l6z { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-k90wvz0l6z] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-k90wvz0l6z] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-k90wvz0l6z] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-k90wvz0l6z] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.search-input[b-k90wvz0l6z] {
    width: 240px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.filter-select[b-k90wvz0l6z] {
    width: 140px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}

/* 테이블 */
.mgmt-table-wrap[b-k90wvz0l6z] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-k90wvz0l6z] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-k90wvz0l6z] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-k90wvz0l6z] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-k90wvz0l6z] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover[b-k90wvz0l6z] { background: var(--hover-bg); }
.row-disabled[b-k90wvz0l6z] { opacity: 0.55; }

/* 상태 배지 */
.status-badge[b-k90wvz0l6z] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.status-active[b-k90wvz0l6z] { background: #e8f5e9; color: #2e7d32; }
.status-suspended[b-k90wvz0l6z] { background: #fff3e0; color: #e65100; }
.status-resigned[b-k90wvz0l6z] { background: #f3e5f5; color: #7b1fa2; }

/* 액션 버튼 */
.action-btns[b-k90wvz0l6z] { display: flex; gap: 4px; }
.btn-action[b-k90wvz0l6z] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: all 0.15s;
}
.btn-action:hover[b-k90wvz0l6z] { border-color: var(--text-muted); }
.btn-action:disabled[b-k90wvz0l6z] { opacity: 0.4; cursor: not-allowed; }
.btn-ok[b-k90wvz0l6z] { color: #2e7d32; }
.btn-ok:hover[b-k90wvz0l6z] { background: #2e7d32; color: #fff; border-color: #2e7d32; }
.btn-reset[b-k90wvz0l6z] { color: #7b1fa2; }
.btn-reset:hover[b-k90wvz0l6z] { background: #7b1fa2; color: #fff; border-color: #7b1fa2; }

/* 빈 상태 */
.empty-state[b-k90wvz0l6z] {
    min-height: 220px; background: var(--bg-surface);
    border: 1px solid var(--border-color); border-radius: 12px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 8px; color: var(--text-muted); font-size: 14px;
}
.empty-state i[b-k90wvz0l6z] { font-size: 30px; }

/* 태블릿 반응형 (768px 이하) */
@media (max-width: 768px) {
    .mgmt-page[b-k90wvz0l6z] { padding: 12px 16px; }

    .mgmt-header[b-k90wvz0l6z] {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .mgmt-header h4[b-k90wvz0l6z] { font-size: 16px; }

    .header-actions[b-k90wvz0l6z] {
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }

    .search-input[b-k90wvz0l6z],
    .filter-select[b-k90wvz0l6z] {
        width: 100%;
    }

    /* 태블릿: 테이블 가로 스크롤 */
    .mgmt-table-wrap[b-k90wvz0l6z] { overflow-x: auto; }
    .mgmt-table[b-k90wvz0l6z] { min-width: 600px; }

    .empty-state[b-k90wvz0l6z] {
        min-height: 180px;
        border-radius: 10px;
    }
}

/* 모바일 반응형 (480px 이하) */
@media (max-width: 480px) {
    .mgmt-page[b-k90wvz0l6z] { padding: 8px 12px; }

    .mgmt-header[b-k90wvz0l6z] {
        flex-direction: column;
        gap: 8px;
    }

    .mgmt-header h4[b-k90wvz0l6z] { font-size: 14px; }

    .header-actions[b-k90wvz0l6z] {
        width: 100%;
        flex-direction: column;
        gap: 6px;
    }

    .search-input[b-k90wvz0l6z],
    .filter-select[b-k90wvz0l6z] {
        width: 100%;
        font-size: 13px;
    }

    /* 모바일: 테이블을 카드 목록으로 표시 */
    .mgmt-table-wrap[b-k90wvz0l6z] {
        border-radius: 8px;
        padding: 0;
        border: none;
        background: transparent;
    }

    .mgmt-table[b-k90wvz0l6z] {
        display: block;
        font-size: 12px;
    }

    .mgmt-table thead[b-k90wvz0l6z] {
        display: none;
    }

    .mgmt-table tbody[b-k90wvz0l6z] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 8px;
    }

    .mgmt-table tr[b-k90wvz0l6z] {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 12px;
        border: 1px solid var(--border-color-light);
        border-radius: 8px;
        background: var(--bg-surface);
        border-bottom: none;
    }

    .mgmt-table tr:hover[b-k90wvz0l6z] {
        background: var(--hover-bg);
    }

    .mgmt-table td[b-k90wvz0l6z] {
        display: grid;
        grid-template-columns: 90px 1fr;
        gap: 8px;
        padding: 0;
        border-bottom: none;
        align-items: center;
        font-size: 12px;
    }

    .mgmt-table td[b-k90wvz0l6z]::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--text-muted);
        font-size: 10px;
        text-transform: uppercase;
        word-break: break-word;
    }

    .mgmt-table td:first-child[b-k90wvz0l6z] {
        display: none;
    }

    .action-btns[b-k90wvz0l6z] {
        display: flex;
        gap: 6px;
        grid-column: 2;
        margin-top: 4px;
    }

    .btn-action[b-k90wvz0l6z] {
        flex: 1;
        width: auto;
        height: 32px;
        font-size: 12px;
    }

    .status-badge[b-k90wvz0l6z] {
        font-size: 10px;
        padding: 2px 8px;
    }

    .empty-state[b-k90wvz0l6z] {
        min-height: 200px;
        border-radius: 8px;
        font-size: 13px;
    }

    .empty-state i[b-k90wvz0l6z] {
        font-size: 28px;
    }
}
/* /Components/Pages/Admin/NoticeManagement.razor.rz.scp.css */
.mgmt-page[b-dkzfpqj4q4] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-dkzfpqj4q4] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-dkzfpqj4q4 0.3s ease;
}
.toast-success[b-dkzfpqj4q4] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-dkzfpqj4q4]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-dkzfpqj4q4 { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-dkzfpqj4q4] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-dkzfpqj4q4] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-dkzfpqj4q4] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-dkzfpqj4q4] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-excel[b-dkzfpqj4q4] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-dkzfpqj4q4] { opacity: 0.9; }
.btn-print[b-dkzfpqj4q4] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-dkzfpqj4q4] { opacity: 0.9; }

.search-input[b-dkzfpqj4q4] {
    width: 200px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.date-input[b-dkzfpqj4q4] {
    width: 140px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.date-tilde[b-dkzfpqj4q4] { color: var(--text-muted); font-size: 16px; margin: 0 2px; }

.btn-add[b-dkzfpqj4q4] {
    padding: 8px 20px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover:not(:disabled)[b-dkzfpqj4q4] { opacity: 0.9; }
.btn-add:disabled[b-dkzfpqj4q4] { opacity: 0.5; cursor: not-allowed; }

/* 테이블 */
.mgmt-table-wrap[b-dkzfpqj4q4] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-dkzfpqj4q4] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-dkzfpqj4q4] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-dkzfpqj4q4] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-dkzfpqj4q4] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover[b-dkzfpqj4q4] { background: var(--hover-bg); }
.row-disabled[b-dkzfpqj4q4] { opacity: 0.55; }

/* 상태 배지 */
.status-badge[b-dkzfpqj4q4] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.status-active[b-dkzfpqj4q4]   { background: #e8f5e9; color: #2e7d32; }
.status-inactive[b-dkzfpqj4q4] { background: #fce4ec; color: #c62828; }

/* 팝업 배지 */
.badge-popup[b-dkzfpqj4q4] {
    display: inline-flex; align-items: center;
    padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 600;
}
.badge-popup.active[b-dkzfpqj4q4]   { background: var(--accent-soft); color: var(--accent); }
.badge-popup.inactive[b-dkzfpqj4q4] { background: var(--bg-main); color: var(--text-muted); }

/* 액션 버튼 */
.action-btns[b-dkzfpqj4q4] { display: flex; gap: 4px; }
.col-action .action-btns[b-dkzfpqj4q4] { justify-content: center; }
.btn-action[b-dkzfpqj4q4] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: all 0.15s;
}
.btn-action:hover[b-dkzfpqj4q4] { border-color: var(--text-muted); }
.btn-action:disabled[b-dkzfpqj4q4] { opacity: 0.4; cursor: not-allowed; }
.btn-detail[b-dkzfpqj4q4] { color: var(--accent); }
.btn-detail:hover:not(:disabled)[b-dkzfpqj4q4] { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-warn[b-dkzfpqj4q4] { color: #e65100; }
.btn-warn:hover:not(:disabled)[b-dkzfpqj4q4] { background: #e65100; color: #fff; border-color: #e65100; }

/* 모달 */
.modal-overlay[b-dkzfpqj4q4] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-dkzfpqj4q4 0.2s;
}
.modal-panel[b-dkzfpqj4q4] {
    background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw;
    max-height: 85vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-dkzfpqj4q4 0.25s ease;
    color: var(--text-primary);
}
.modal-panel.notice-modal[b-dkzfpqj4q4] { width: 720px; }
.modal-panel.modal-sm[b-dkzfpqj4q4]     { width: 440px; }
@keyframes fadeIn-b-dkzfpqj4q4 { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-dkzfpqj4q4 { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-dkzfpqj4q4] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-dkzfpqj4q4] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-dkzfpqj4q4] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-dkzfpqj4q4] { color: var(--text-secondary); }

.modal-body-content[b-dkzfpqj4q4] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.field-grid[b-dkzfpqj4q4] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.field-item[b-dkzfpqj4q4] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span[b-dkzfpqj4q4] { grid-column: span 2; }
.field-item label[b-dkzfpqj4q4] {
    font-size: 11px; font-weight: 600; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.3px;
}
.field-item .form-control[b-dkzfpqj4q4] {
    font-size: 13px; padding: 7px 10px; border-radius: 6px;
    border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary);
}

.notice-editor[b-dkzfpqj4q4] {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-input);
    overflow: hidden;
}

.notice-editor-toolbar[b-dkzfpqj4q4] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-main);
    flex-wrap: wrap;
}

.notice-editor-toolbar button[b-dkzfpqj4q4] {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
}

.notice-editor-toolbar button:hover[b-dkzfpqj4q4] {
    background: var(--hover-bg);
    color: var(--text-primary);
    border-color: var(--border-color);
}

.toolbar-sep[b-dkzfpqj4q4] {
    width: 1px;
    height: 20px;
    margin: 0 3px;
    background: var(--border-color);
}

.notice-editor-surface[b-dkzfpqj4q4] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 220px;
    max-height: 420px;
    overflow-y: auto;
    padding: 14px;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--text-primary);
    outline: none;
}

.notice-editor-frame[b-dkzfpqj4q4] {
    height: 230px;
    border: 0;
    padding: 0;
    background: var(--bg-input);
}

.notice-editor-surface:empty[b-dkzfpqj4q4]::before {
    content: attr(data-placeholder);
    color: var(--text-muted);
}

.notice-upload-row[b-dkzfpqj4q4] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.notice-attach-list[b-dkzfpqj4q4] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.notice-attach-list.existing[b-dkzfpqj4q4] {
    padding-top: 8px;
    border-top: 1px dashed var(--border-color);
}

.notice-attach-item[b-dkzfpqj4q4] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 8px;
    border: 1px solid var(--border-color-light);
    border-radius: 7px;
    background: var(--bg-surface);
    font-size: 12.5px;
}

.notice-attach-item span[b-dkzfpqj4q4],
.notice-attach-item a[b-dkzfpqj4q4] {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary);
    text-decoration: none;
}

.notice-attach-item small[b-dkzfpqj4q4] {
    color: var(--text-muted);
    white-space: nowrap;
}

.notice-attach-item button[b-dkzfpqj4q4] {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--text-muted);
}

.notice-attach-item button:hover[b-dkzfpqj4q4] {
    background: rgba(239, 68, 68, 0.12);
    color: #ef4444;
}

/* 공지 상세 뷰 */
.notice-meta[b-dkzfpqj4q4] {
    display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
    font-size: 12.5px; color: var(--text-muted);
    padding-bottom: 14px; margin-bottom: 16px;
    border-bottom: 1px solid var(--border-color-light);
}
.notice-content[b-dkzfpqj4q4] {
    font-size: 14px; line-height: 1.75; color: var(--text-primary);
    white-space: pre-wrap; min-height: 120px;
}

.rich-notice-content[b-dkzfpqj4q4] {
    white-space: normal;
}

.rich-notice-content img[b-dkzfpqj4q4] {
    max-width: 100%;
    height: auto;
}

.notice-image-grid[b-dkzfpqj4q4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.notice-image-grid img[b-dkzfpqj4q4] {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

.notice-file-list[b-dkzfpqj4q4] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}

.notice-file-link[b-dkzfpqj4q4] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    color: var(--text-primary);
    text-decoration: none;
    background: var(--bg-main);
}

.notice-file-link span[b-dkzfpqj4q4] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notice-file-link small[b-dkzfpqj4q4] {
    color: var(--text-muted);
}

.modal-foot[b-dkzfpqj4q4] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-dkzfpqj4q4] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover:not(:disabled)[b-dkzfpqj4q4] { opacity: 0.9; }
.btn-modal-save:disabled[b-dkzfpqj4q4] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-dkzfpqj4q4] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-dkzfpqj4q4] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-dkzfpqj4q4] { background: var(--hover-bg); }

/* 태블릿 반응형 (768px 이하) */
@media (max-width: 768px) {
    .mgmt-page[b-dkzfpqj4q4] { padding: 12px 16px; }

    .mgmt-header[b-dkzfpqj4q4] {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .mgmt-header h4[b-dkzfpqj4q4] { font-size: 16px; }

    .header-actions[b-dkzfpqj4q4] {
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }

    .search-input[b-dkzfpqj4q4],
    .date-input[b-dkzfpqj4q4] {
        width: 100%;
    }

    .date-tilde[b-dkzfpqj4q4] {
        display: none;
    }

    .btn-add[b-dkzfpqj4q4] {
        width: 100%;
        justify-content: center;
    }

    /* 태블릿: 테이블 가로 스크롤 */
    .mgmt-table-wrap[b-dkzfpqj4q4] { overflow-x: auto; }
    .mgmt-table[b-dkzfpqj4q4] { min-width: 600px; }

    .field-grid[b-dkzfpqj4q4] { grid-template-columns: 1fr; }

    .field-item.full-span[b-dkzfpqj4q4] {
        grid-column: span 1;
    }

    .notice-textarea[b-dkzfpqj4q4] {
        min-height: 150px;
    }
}

/* 모바일 반응형 (480px 이하) */
@media (max-width: 480px) {
    .mgmt-page[b-dkzfpqj4q4] { padding: 8px 12px; }

    .mgmt-header[b-dkzfpqj4q4] {
        flex-direction: column;
        gap: 8px;
    }

    .mgmt-header h4[b-dkzfpqj4q4] { font-size: 14px; }

    .header-actions[b-dkzfpqj4q4] {
        width: 100%;
        flex-direction: column;
        gap: 6px;
    }

    .search-input[b-dkzfpqj4q4],
    .date-input[b-dkzfpqj4q4] {
        width: 100%;
        font-size: 14px;
        padding: 8px 10px;
    }

    .date-tilde[b-dkzfpqj4q4] {
        display: none;
    }

    .btn-add[b-dkzfpqj4q4] {
        width: 100%;
        padding: 10px 14px;
        font-size: 12px;
        justify-content: center;
    }

    /* 모바일: 테이블을 카드 목록으로 표시 */
    .mgmt-table-wrap[b-dkzfpqj4q4] {
        border-radius: 8px;
        padding: 0;
        border: none;
        background: transparent;
    }

    .mgmt-table[b-dkzfpqj4q4] {
        display: block;
        font-size: 12px;
    }

    .mgmt-table thead[b-dkzfpqj4q4] {
        display: none;
    }

    .mgmt-table tbody[b-dkzfpqj4q4] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 8px;
    }

    .mgmt-table tr[b-dkzfpqj4q4] {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 12px;
        border: 1px solid var(--border-color-light);
        border-radius: 8px;
        background: var(--bg-surface);
        border-bottom: none;
    }

    .mgmt-table tr:hover[b-dkzfpqj4q4] {
        background: var(--hover-bg);
    }

    .mgmt-table td[b-dkzfpqj4q4] {
        display: grid;
        grid-template-columns: 70px 1fr;
        gap: 8px;
        padding: 0;
        border-bottom: none;
        align-items: center;
        font-size: 12px;
    }

    .mgmt-table td[b-dkzfpqj4q4]::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--text-muted);
        font-size: 10px;
        text-transform: uppercase;
        word-break: break-word;
    }

    .mgmt-table td:first-child[b-dkzfpqj4q4] {
        display: none;
    }

    .action-btns[b-dkzfpqj4q4] {
        display: flex;
        gap: 6px;
        grid-column: 2;
        margin-top: 4px;
    }

    .btn-action[b-dkzfpqj4q4] {
        flex: 1;
        width: auto;
        height: 32px;
        font-size: 12px;
    }

    .status-badge[b-dkzfpqj4q4] {
        font-size: 10px;
        padding: 2px 8px;
    }

    .badge-popup[b-dkzfpqj4q4] {
        font-size: 10px;
        padding: 2px 6px;
    }

    .modal-panel[b-dkzfpqj4q4] {
        width: 95vw;
        max-width: none;
        border-radius: 12px;
        max-height: 95vh;
    }

    .modal-panel.notice-modal[b-dkzfpqj4q4],
    .modal-panel.modal-sm[b-dkzfpqj4q4] {
        width: 95vw;
    }

    .modal-head[b-dkzfpqj4q4] {
        padding: 12px 16px;
    }

    .modal-head h5[b-dkzfpqj4q4] {
        font-size: 14px;
    }

    .modal-body-content[b-dkzfpqj4q4] {
        padding: 12px 16px;
    }

    .modal-foot[b-dkzfpqj4q4] {
        padding: 10px 16px;
        gap: 6px;
    }

    .btn-modal-save[b-dkzfpqj4q4],
    .btn-modal-cancel[b-dkzfpqj4q4] {
        padding: 8px 12px;
        font-size: 12px;
        flex: 1;
    }

    .field-grid[b-dkzfpqj4q4] {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .field-item label[b-dkzfpqj4q4] {
        font-size: 10px;
        margin-bottom: 3px;
    }

    .field-item .form-control[b-dkzfpqj4q4] {
        font-size: 13px;
        padding: 6px 8px;
    }

    .field-item.full-span[b-dkzfpqj4q4] {
        grid-column: span 1;
    }

    .notice-textarea[b-dkzfpqj4q4] {
        min-height: 120px;
        font-size: 13px;
        padding: 8px;
    }

    .notice-meta[b-dkzfpqj4q4] {
        flex-direction: column;
        gap: 6px;
        align-items: flex-start;
        font-size: 11px;
        padding-bottom: 10px;
        margin-bottom: 12px;
    }

    .notice-content[b-dkzfpqj4q4] {
        font-size: 13px;
        line-height: 1.6;
        min-height: 100px;
    }
}


/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-dkzfpqj4q4] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-dkzfpqj4q4] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-dkzfpqj4q4] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-dkzfpqj4q4] { display: flex; gap: 8px; }
.btn-do-print[b-dkzfpqj4q4] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-dkzfpqj4q4] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-dkzfpqj4q4] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-dkzfpqj4q4] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-dkzfpqj4q4] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-dkzfpqj4q4] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-dkzfpqj4q4] { font-size: 12px; color: #666; }
.rpt-section[b-dkzfpqj4q4] { margin-bottom: 32px; }
.rpt-section-title[b-dkzfpqj4q4] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-dkzfpqj4q4] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-dkzfpqj4q4], .rpt-table th[b-dkzfpqj4q4] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-dkzfpqj4q4] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-dkzfpqj4q4] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-dkzfpqj4q4] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-dkzfpqj4q4] { background: #f8f8f8; }
.rpt-footer[b-dkzfpqj4q4] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@media print {
    .no-print[b-dkzfpqj4q4] { display: none !important; }
    .status-print-overlay[b-dkzfpqj4q4] { position: static; background: #fff; }
    .print-paper[b-dkzfpqj4q4] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ══════════════════════════════════════════
   대시보드 공통
══════════════════════════════════════════ */
.dash-page[b-jxfz2jf96a] {
    padding: 20px 28px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    color: var(--text-primary);
}

/* ── 페이지 헤더 ── */
.dash-header[b-jxfz2jf96a] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.dash-title[b-jxfz2jf96a] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
}

.dash-subtitle[b-jxfz2jf96a] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--text-muted);
}

.dash-date-badge[b-jxfz2jf96a] {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
}

/* ══════════════════════════════════════════
   KPI 카드
══════════════════════════════════════════ */
.kpi-grid[b-jxfz2jf96a] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.kpi-card[b-jxfz2jf96a] {
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: box-shadow 0.2s, transform 0.2s;
    position: relative;
    overflow: hidden;
}

.kpi-card[b-jxfz2jf96a]::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    border-radius: 12px 0 0 12px;
}

.kpi-card:hover[b-jxfz2jf96a] {
    box-shadow: 0 6px 20px var(--shadow-sm);
    transform: translateY(-2px);
}

.kpi-icon[b-jxfz2jf96a] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.kpi-body[b-jxfz2jf96a] {
    min-width: 0;
}

.kpi-label[b-jxfz2jf96a] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.kpi-value[b-jxfz2jf96a] {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.15;
    color: var(--text-primary);
    margin-top: 2px;
}

.kpi-desc[b-jxfz2jf96a] {
    font-size: 11.5px;
    color: var(--text-muted);
    margin-top: 2px;
}

/* 색상 테마 */
.kpi-blue[b-jxfz2jf96a]::before  { background: #3b82f6; }
.kpi-amber[b-jxfz2jf96a]::before { background: #f59e0b; }
.kpi-red[b-jxfz2jf96a]::before   { background: #ef4444; }
.kpi-green[b-jxfz2jf96a]::before { background: #10b981; }

.kpi-blue  .kpi-icon[b-jxfz2jf96a] { background: #eff6ff; color: #3b82f6; }
.kpi-amber .kpi-icon[b-jxfz2jf96a] { background: #fffbeb; color: #f59e0b; }
.kpi-red   .kpi-icon[b-jxfz2jf96a] { background: #fef2f2; color: #ef4444; }
.kpi-green .kpi-icon[b-jxfz2jf96a] { background: #f0fdf4; color: #10b981; }

.kpi-blue  .kpi-value[b-jxfz2jf96a] { color: #3b82f6; }
.kpi-amber .kpi-value[b-jxfz2jf96a] { color: #f59e0b; }
.kpi-red   .kpi-value[b-jxfz2jf96a] { color: #ef4444; }
.kpi-green .kpi-value[b-jxfz2jf96a] { color: #10b981; }

/* ══════════════════════════════════════════
   섹션 공통
══════════════════════════════════════════ */
.dash-section[b-jxfz2jf96a] {
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
}

.section-header[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-main);
    flex-wrap: wrap;
    gap: 8px;
}

.section-title[b-jxfz2jf96a] {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
}

.btn-section-action[b-jxfz2jf96a] {
    padding: 5px 14px;
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.2s;
}

.btn-section-action:hover[b-jxfz2jf96a] {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

/* ══════════════════════════════════════════
   프로젝트 테이블
══════════════════════════════════════════ */
.dash-table-wrap[b-jxfz2jf96a] { overflow-x: auto; }

.dash-table[b-jxfz2jf96a] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    color: var(--text-primary);
}

.dash-table thead[b-jxfz2jf96a] {
    background: var(--bg-main);
}

.dash-table th[b-jxfz2jf96a] {
    padding: 11px 16px;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
}

.dash-table tbody tr[b-jxfz2jf96a] {
    cursor: pointer;
    transition: background 0.15s;
}

.dash-table tbody tr:hover[b-jxfz2jf96a] {
    background: var(--hover-bg);
}

.dash-table td[b-jxfz2jf96a] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color-light);
    vertical-align: middle;
}

.dash-table tbody tr:last-child td[b-jxfz2jf96a] {
    border-bottom: none;
}

.dash-notice-list[b-jxfz2jf96a] {
    display: flex;
    flex-direction: column;
    min-height: 320px;
}

.dash-notice-item[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: 0;
    border-bottom: 1px solid var(--border-color-light);
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
}

.dash-notice-item:hover[b-jxfz2jf96a] {
    background: var(--hover-bg);
}

.dash-notice-main[b-jxfz2jf96a] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dash-notice-main > i[b-jxfz2jf96a] {
    flex-shrink: 0;
    color: var(--accent);
}

.dash-notice-title[b-jxfz2jf96a] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    font-size: 13px;
}

.dash-notice-attachment[b-jxfz2jf96a] {
    flex: 0 0 auto;
    color: var(--text-muted) !important;
    font-size: 12px;
}

.dash-notice-meta[b-jxfz2jf96a] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    color: var(--text-muted);
    font-size: 12px;
}

.dash-notice-date[b-jxfz2jf96a] {
    width: 34px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.dash-notice-badge[b-jxfz2jf96a] {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--accent-soft);
    color: var(--accent);
    font-size: 11px;
    font-weight: 700;
}

.dash-notice-modal-overlay[b-jxfz2jf96a] {
    position: fixed;
    inset: 0;
    z-index: 9100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.45);
}

.dash-notice-modal[b-jxfz2jf96a] {
    width: min(720px, 96vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-surface);
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
}

.dash-notice-modal-head[b-jxfz2jf96a],
.dash-notice-modal-foot[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-color);
}

.dash-notice-modal-foot[b-jxfz2jf96a] {
    justify-content: flex-end;
    border-top: 1px solid var(--border-color);
    border-bottom: 0;
}

.dash-notice-modal-head h5[b-jxfz2jf96a] {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 700;
}

.dash-notice-modal-head button[b-jxfz2jf96a] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--text-muted);
}

.dash-notice-modal-head button:hover[b-jxfz2jf96a] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

.dash-notice-modal-body[b-jxfz2jf96a] {
    overflow-y: auto;
    padding: 18px;
}

.dash-notice-modal-meta[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: var(--text-muted);
    font-size: 12px;
}

.dash-notice-content[b-jxfz2jf96a] {
    font-size: 14px;
    line-height: 1.75;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.dash-notice-content img[b-jxfz2jf96a] {
    max-width: 100%;
    height: auto;
}

.dash-notice-image-grid[b-jxfz2jf96a] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.dash-notice-image-grid img[b-jxfz2jf96a] {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

.dash-notice-file-list[b-jxfz2jf96a] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}

.dash-notice-file-list a[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-main);
    color: var(--text-primary);
    text-decoration: none;
}

.td-name[b-jxfz2jf96a] {
    font-weight: 600;
    color: var(--text-primary);
}

.td-overdue[b-jxfz2jf96a] {
    color: #ef4444;
    font-weight: 600;
}

.td-warn[b-jxfz2jf96a] {
    color: #f59e0b;
    font-weight: 600;
}

/* 2컬럼 섹션 레이아웃 */
.dash-two-col[b-jxfz2jf96a] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

/* 로딩 표시 */
.dash-loading[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 20px;
    color: var(--text-muted);
    font-size: 13px;
}

.text-accent[b-jxfz2jf96a] { color: var(--accent); }

.empty-row[b-jxfz2jf96a] {
    text-align: center;
    padding: 48px 16px !important;
    color: var(--text-muted);
}

.empty-row i[b-jxfz2jf96a] {
    font-size: 2rem;
    display: block;
    margin-bottom: 8px;
    opacity: 0.4;
}

/* 단계 뱃지 */
.phase-badge[b-jxfz2jf96a] {
    display: inline-block;
    padding: 3px 10px;
    background: var(--accent-soft);
    color: var(--accent);
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
}

/* 진행률 */
.prog-cell[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 160px;
}

.prog-track[b-jxfz2jf96a] {
    flex: 1;
    height: 7px;
    background: var(--border-color);
    border-radius: 999px;
    overflow: hidden;
}

.prog-fill[b-jxfz2jf96a] {
    height: 100%;
    border-radius: 999px;
    transition: width 0.4s ease;
}

.prog-done[b-jxfz2jf96a] { background: #10b981; }
.prog-high[b-jxfz2jf96a] { background: #3b82f6; }
.prog-mid[b-jxfz2jf96a]  { background: linear-gradient(90deg, #667eea, #764ba2); }
.prog-low[b-jxfz2jf96a]  { background: #f59e0b; }

.prog-label[b-jxfz2jf96a] {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
    white-space: nowrap;
    min-width: 32px;
}

/* 상태 뱃지 */
.status-badge[b-jxfz2jf96a] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}

.status-progress[b-jxfz2jf96a] { background: #dbeafe; color: #1d4ed8; }
.status-review[b-jxfz2jf96a]   { background: #ede9fe; color: #6d28d9; }
.status-proposal[b-jxfz2jf96a] { background: #fef3c7; color: #b45309; }
.status-done[b-jxfz2jf96a]     { background: #dcfce7; color: #15803d; }
.status-delay[b-jxfz2jf96a]    { background: #fee2e2; color: #dc2626; }
.status-hold[b-jxfz2jf96a]     { background: #f3f4f6; color: #6b7280; }
.status-default[b-jxfz2jf96a]  { background: var(--border-color); color: var(--text-secondary); }

/* ══════════════════════════════════════════
   캘린더
══════════════════════════════════════════ */
.cal-legend[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.legend-item[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 500;
}

.legend-dot[b-jxfz2jf96a] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.dot-annual[b-jxfz2jf96a]   { background: #22c55e; }
.dot-trip[b-jxfz2jf96a]     { background: #f59e0b; }
.dot-outside[b-jxfz2jf96a]  { background: #3b82f6; }
.dot-delivery[b-jxfz2jf96a] { background: #8b5cf6; }

.cal-wrap[b-jxfz2jf96a] {
    padding: 16px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.cal-nav[b-jxfz2jf96a] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cal-nav-btn[b-jxfz2jf96a] {
    width: 32px;
    height: 32px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-surface);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.2s;
}

.cal-nav-btn:hover[b-jxfz2jf96a] {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

.cal-month-label[b-jxfz2jf96a] {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
}

.cal-grid[b-jxfz2jf96a] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    min-width: 0;
}

.cal-weekday[b-jxfz2jf96a] {
    background: var(--bg-main);
    padding: 9px 6px;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--text-muted);
    text-align: center;
    border-bottom: 1px solid var(--border-color);
}

.cal-weekday.cal-sun[b-jxfz2jf96a] { color: #ef4444; }
.cal-weekday.cal-sat[b-jxfz2jf96a] { color: #3b82f6; }

.cal-day[b-jxfz2jf96a] {
    min-height: 100px;
    border-right: 1px solid var(--border-color-light);
    border-bottom: 1px solid var(--border-color-light);
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--bg-surface);
    transition: background 0.15s;
}

.cal-day:nth-child(7n)[b-jxfz2jf96a] { border-right: none; }

.cal-day.cal-other[b-jxfz2jf96a] {
    background: var(--bg-main);
}

.cal-day.cal-other .cal-day-num[b-jxfz2jf96a] {
    color: var(--text-muted);
}

.cal-day.cal-today[b-jxfz2jf96a] {
    background: var(--accent-soft);
}

.cal-day.cal-sun .cal-day-num[b-jxfz2jf96a] { color: #ef4444; font-weight: 700; }
.cal-day.cal-sat .cal-day-num[b-jxfz2jf96a] { color: #3b82f6; font-weight: 700; }

.cal-day-num[b-jxfz2jf96a] {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1;
}

.cal-today .cal-day-num[b-jxfz2jf96a] {
    background: var(--accent);
    color: #fff;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.cal-events[b-jxfz2jf96a] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow: hidden;
    min-width: 0;
}

.cal-event[b-jxfz2jf96a] {
    font-size: 10.5px;
    padding: 3px 6px;
    border-radius: 5px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    line-height: 1.3;
}

.evt-annual[b-jxfz2jf96a]   { background: #22c55e; }
.evt-trip[b-jxfz2jf96a]     { background: #f59e0b; }
.evt-outside[b-jxfz2jf96a]  { background: #3b82f6; }
.evt-default[b-jxfz2jf96a]  { background: #64748b; }
.evt-delivery[b-jxfz2jf96a] { background: #8b5cf6; }

/* ══════════════════════════════════════════
   다크 모드 조정
══════════════════════════════════════════ */
[data-theme="dark"] .kpi-blue  .kpi-icon[b-jxfz2jf96a] { background: rgba(59,130,246,0.15); }
[data-theme="dark"] .kpi-amber .kpi-icon[b-jxfz2jf96a] { background: rgba(245,158,11,0.15); }
[data-theme="dark"] .kpi-red   .kpi-icon[b-jxfz2jf96a] { background: rgba(239,68,68,0.15); }
[data-theme="dark"] .kpi-green .kpi-icon[b-jxfz2jf96a] { background: rgba(16,185,129,0.15); }

[data-theme="dark"] .status-progress[b-jxfz2jf96a] { background: rgba(29,78,216,0.2); }
[data-theme="dark"] .status-review[b-jxfz2jf96a]   { background: rgba(109,40,217,0.2); }
[data-theme="dark"] .status-proposal[b-jxfz2jf96a] { background: rgba(180,83,9,0.2); }
[data-theme="dark"] .status-done[b-jxfz2jf96a]     { background: rgba(21,128,61,0.2); }
[data-theme="dark"] .status-delay[b-jxfz2jf96a]    { background: rgba(220,38,38,0.2); }

/* ══════════════════════════════════════════
   반응형
══════════════════════════════════════════ */
@media (max-width: 1200px) {
    .kpi-grid[b-jxfz2jf96a] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .dash-two-col[b-jxfz2jf96a] { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .kpi-grid[b-jxfz2jf96a] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .dash-page[b-jxfz2jf96a] { padding: 12px 16px; gap: 16px; }
    .kpi-grid[b-jxfz2jf96a] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .kpi-card[b-jxfz2jf96a] { padding: 14px; gap: 12px; }
    .kpi-value[b-jxfz2jf96a] { font-size: 1.6rem; }
    .kpi-icon[b-jxfz2jf96a] { width: 40px; height: 40px; font-size: 18px; border-radius: 10px; }
    .section-header[b-jxfz2jf96a] { padding: 12px 16px; }
    .cal-wrap[b-jxfz2jf96a] { padding: 12px 14px 16px; }
    .cal-day[b-jxfz2jf96a] { min-height: 72px; padding: 4px 6px; }
    .cal-event[b-jxfz2jf96a] { font-size: 9.5px; }
    .dash-date-badge[b-jxfz2jf96a] { display: none; }
    .prog-cell[b-jxfz2jf96a] { min-width: 120px; }
}

@media (hover: none) and (pointer: coarse) and (max-height: 720px) and (orientation: landscape) {
    .dash-page[b-jxfz2jf96a] {
        padding: 12px 16px 16px;
        gap: 14px;
    }

    .kpi-grid[b-jxfz2jf96a] {
        gap: 10px;
    }

    .kpi-card[b-jxfz2jf96a] {
        padding: 12px 14px;
        gap: 10px;
    }

    .kpi-icon[b-jxfz2jf96a] {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .kpi-value[b-jxfz2jf96a] {
        font-size: 1.45rem;
    }

    .section-header[b-jxfz2jf96a] {
        padding: 10px 14px;
        gap: 6px;
    }

    .cal-legend[b-jxfz2jf96a] {
        gap: 8px;
        flex-wrap: wrap;
    }

    .legend-item[b-jxfz2jf96a] {
        font-size: 11px;
    }

    .cal-wrap[b-jxfz2jf96a] {
        padding: 10px 12px 12px;
        gap: 8px;
    }

    .cal-nav-btn[b-jxfz2jf96a] {
        width: 28px;
        height: 28px;
    }

    .cal-weekday[b-jxfz2jf96a] {
        padding: 6px 4px;
        font-size: 10.5px;
    }

    .cal-day[b-jxfz2jf96a] {
        min-height: 56px;
        padding: 4px 5px;
        gap: 3px;
    }

    .cal-day-num[b-jxfz2jf96a] {
        font-size: 11px;
    }

    .cal-today .cal-day-num[b-jxfz2jf96a] {
        width: 18px;
        height: 18px;
        font-size: 10px;
    }

    .cal-event[b-jxfz2jf96a] {
        padding: 2px 4px;
        font-size: 9px;
        line-height: 1.15;
    }
}

@media (hover: none) and (pointer: coarse) and (min-width: 769px) and (max-width: 1280px) and (max-height: 900px) and (orientation: landscape) {
    .cal-day[b-jxfz2jf96a] {
        min-height: 72px;
    }
}

@media (max-width: 480px) {
    .kpi-grid[b-jxfz2jf96a] { grid-template-columns: 1fr 1fr; gap: 10px; }
    .kpi-card[b-jxfz2jf96a] { padding: 12px; gap: 10px; }
    .kpi-value[b-jxfz2jf96a] { font-size: 1.4rem; }
    .kpi-icon[b-jxfz2jf96a] { width: 36px; height: 36px; font-size: 16px; }
    .kpi-label[b-jxfz2jf96a] { font-size: 10.5px; }
    .cal-day[b-jxfz2jf96a] { min-height: 56px; }
    .cal-day-num[b-jxfz2jf96a] { font-size: 11px; }
    .dash-table th[b-jxfz2jf96a], .dash-table td[b-jxfz2jf96a] { padding: 9px 10px; }
}
/* /Components/Pages/Inventory/IssueRegister.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-1od8jcexza] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-1od8jcexza] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-1od8jcexza 0.3s ease;
}
.toast-success[b-1od8jcexza] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-1od8jcexza]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-1od8jcexza { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-1od8jcexza] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-1od8jcexza] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-1od8jcexza] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-1od8jcexza] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-1od8jcexza] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-1od8jcexza] { font-size: 13px; color: var(--text-muted); }
.search-input[b-1od8jcexza] { width: 160px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-1od8jcexza] { width: 120px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-add[b-1od8jcexza] {
    padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover[b-1od8jcexza] { opacity: 0.9; }
.btn-excel[b-1od8jcexza] {
    padding: 8px 14px; background: #217346; color: #fff;
    border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-excel:hover[b-1od8jcexza] { opacity: 0.9; }
.btn-print[b-1od8jcexza] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-1od8jcexza] { opacity: 0.9; }

/* 요약 스트립 */
.summary-strip[b-1od8jcexza] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-1od8jcexza] { flex: 1; min-width: 130px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.strip-label[b-1od8jcexza] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.strip-value[b-1od8jcexza] { font-size: 20px; font-weight: 700; color: var(--text-primary); }
.strip-active .strip-value[b-1od8jcexza]  { color: #2e7d32; }
.strip-product .strip-value[b-1od8jcexza] { color: #1565c0; }

/* 테이블 */
.mgmt-table-wrap[b-1od8jcexza] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mgmt-table[b-1od8jcexza] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-1od8jcexza] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-1od8jcexza] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-1od8jcexza] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-1od8jcexza] { background: var(--hover-bg); }
#issueTable th[b-1od8jcexza],
#issueTable td[b-1od8jcexza] { text-align: center; }
#issueTable .item-name[b-1od8jcexza],
#issueTable .customer-cell[b-1od8jcexza] { text-align: left; }
#issueTable .text-end[b-1od8jcexza] { text-align: right; }

.code-text[b-1od8jcexza] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-1od8jcexza] { font-weight: 600; }
.price-cell[b-1od8jcexza] { font-family: monospace; font-size: 12.5px; }
.small-text[b-1od8jcexza] { font-size: 12px; }

.type-badge[b-1od8jcexza] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.type-product[b-1od8jcexza]  { background: #e3f2fd; color: #1565c0; }
.type-semi[b-1od8jcexza]     { background: #f3e5f5; color: #6a1b9a; }
.type-material[b-1od8jcexza] { background: #fff3e0; color: #e65100; }
.type-default[b-1od8jcexza]  { background: var(--bg-main); color: var(--text-muted); }

.action-btns[b-1od8jcexza] { display: flex; gap: 4px; }
.btn-action[b-1od8jcexza] { width: 30px; height: 30px; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-surface); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; transition: all 0.15s; }
.btn-warn[b-1od8jcexza]  { color: #e65100; }
.btn-warn:hover[b-1od8jcexza]  { background: #e65100; color: #fff; border-color: #e65100; }

.empty-wrap[b-1od8jcexza], .loading-wrap[b-1od8jcexza] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-1od8jcexza] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-1od8jcexza] { flex-direction: row; gap: 10px; }
.loading-spinner[b-1od8jcexza] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-1od8jcexza 0.8s linear infinite; }
@keyframes spin-b-1od8jcexza { to { transform: rotate(360deg); } }

/* 모달 */
.modal-overlay[b-1od8jcexza] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000; display: flex; align-items: center; justify-content: center; animation: fadeIn-b-1od8jcexza 0.2s; }
.modal-panel[b-1od8jcexza] { background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw; max-height: 85vh; display: flex; flex-direction: column; box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-1od8jcexza 0.25s ease; color: var(--text-primary); }
.modal-panel.receipt-modal[b-1od8jcexza] { width: 660px; }
.modal-panel.modal-sm[b-1od8jcexza] { width: 440px; }
@keyframes fadeIn-b-1od8jcexza  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-1od8jcexza { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-1od8jcexza] { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-bottom: 1px solid var(--border-color); }
.modal-head h5[b-1od8jcexza] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-1od8jcexza] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-1od8jcexza] { color: var(--text-secondary); }

.modal-body-content[b-1od8jcexza] { flex: 1; overflow-y: auto; padding: 20px 24px; }
.field-grid[b-1od8jcexza] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.field-item[b-1od8jcexza] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span[b-1od8jcexza] { grid-column: span 2; }
.field-item label[b-1od8jcexza] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-1od8jcexza] { font-size: 13px; padding: 7px 10px; border-radius: 6px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.required[b-1od8jcexza] { color: #d32f2f; }
.delete-confirm-text[b-1od8jcexza] { margin: 0; line-height: 1.8; font-size: 14px; }

.modal-foot[b-1od8jcexza] { padding: 14px 24px; border-top: 1px solid var(--border-color); display: flex; gap: 8px; justify-content: flex-end; }
.btn-modal-save[b-1od8jcexza] { padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.btn-modal-save:hover:not(:disabled)[b-1od8jcexza] { opacity: 0.9; }
.btn-modal-save:disabled[b-1od8jcexza] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-1od8jcexza] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-1od8jcexza] { padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary); border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.btn-modal-cancel:hover[b-1od8jcexza] { background: var(--hover-bg); }

@media (max-width: 1200px) { .mgmt-table-wrap[b-1od8jcexza] { overflow-x: auto; } .mgmt-table[b-1od8jcexza] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-1od8jcexza] { padding: 12px 16px; }
    .mgmt-header[b-1od8jcexza] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-1od8jcexza] { flex-direction: column; gap: 8px; }
    .date-input[b-1od8jcexza], .search-input[b-1od8jcexza], .filter-select[b-1od8jcexza] { width: 100%; }
    .btn-add[b-1od8jcexza], .btn-excel[b-1od8jcexza], .btn-print[b-1od8jcexza] { width: 100%; justify-content: center; }
    .summary-strip[b-1od8jcexza] { gap: 8px; }
    .strip-card[b-1od8jcexza] { min-width: 100px; }
    .field-grid[b-1od8jcexza] { grid-template-columns: 1fr; }
    .field-item.full-span[b-1od8jcexza] { grid-column: span 1; }
}
@media (max-width: 480px) {
    .mgmt-page[b-1od8jcexza] { padding: 8px 12px; }
    .modal-panel[b-1od8jcexza], .modal-panel.receipt-modal[b-1od8jcexza], .modal-panel.modal-sm[b-1od8jcexza] { width: 95vw; max-width: none; border-radius: 12px; max-height: 95vh; }
    .modal-head[b-1od8jcexza] { padding: 12px 16px; }
    .modal-body-content[b-1od8jcexza] { padding: 12px 16px; }
    .modal-foot[b-1od8jcexza] { padding: 10px 16px; }
    .btn-modal-save[b-1od8jcexza], .btn-modal-cancel[b-1od8jcexza] { padding: 8px 12px; font-size: 12px; flex: 1; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-1od8jcexza] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-1od8jcexza] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-1od8jcexza] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-1od8jcexza] { display: flex; gap: 8px; }
.btn-do-print[b-1od8jcexza] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-1od8jcexza] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-1od8jcexza] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-1od8jcexza] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-1od8jcexza] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-1od8jcexza] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-1od8jcexza] { font-size: 12px; color: #666; }
.rpt-section[b-1od8jcexza] { margin-bottom: 32px; }
.rpt-section-title[b-1od8jcexza] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-1od8jcexza] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-1od8jcexza], .rpt-table th[b-1od8jcexza] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-1od8jcexza] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-1od8jcexza] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-1od8jcexza] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-1od8jcexza] { background: #f8f8f8; }
.rpt-footer[b-1od8jcexza] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-1od8jcexza] { display: none !important; }
    .status-print-overlay[b-1od8jcexza] { position: static; background: #fff; }
    .print-paper[b-1od8jcexza] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Inventory/IssueStatus.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-mc8ht3ifsj] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-header[b-mc8ht3ifsj] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-mc8ht3ifsj] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-mc8ht3ifsj] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-mc8ht3ifsj] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-mc8ht3ifsj] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-mc8ht3ifsj] { font-size: 13px; color: var(--text-muted); }
.search-input[b-mc8ht3ifsj] { width: 150px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-mc8ht3ifsj] { width: 130px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-excel[b-mc8ht3ifsj] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-mc8ht3ifsj] { opacity: 0.9; }
.btn-print[b-mc8ht3ifsj] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-mc8ht3ifsj] { opacity: 0.9; }

/* 거래처 카드 */
.vendor-cards[b-mc8ht3ifsj] { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.vendor-card[b-mc8ht3ifsj] { flex: 1; min-width: 140px; max-width: 220px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 14px 16px; }
.vendor-name[b-mc8ht3ifsj] { font-size: 12px; font-weight: 700; color: var(--text-primary); margin-bottom: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vendor-amount[b-mc8ht3ifsj] { font-size: 16px; font-weight: 700; color: #1565c0; }
.vendor-count[b-mc8ht3ifsj] { font-size: 11px; margin-top: 2px; }

/* 테이블 */
.mgmt-table-wrap[b-mc8ht3ifsj] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mb-section[b-mc8ht3ifsj] { margin-bottom: 24px; }
.mgmt-table[b-mc8ht3ifsj] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-mc8ht3ifsj] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-mc8ht3ifsj] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-mc8ht3ifsj] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-mc8ht3ifsj] { background: var(--hover-bg); }
#issueStatusTable th[b-mc8ht3ifsj],
#issueStatusTable td[b-mc8ht3ifsj] { text-align: center; }
#issueStatusTable .item-name[b-mc8ht3ifsj],
#issueStatusTable .customer-cell[b-mc8ht3ifsj] { text-align: left; }
#issueStatusTable .text-end[b-mc8ht3ifsj] { text-align: right; }

.code-text[b-mc8ht3ifsj] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-mc8ht3ifsj] { font-weight: 600; }
.price-cell[b-mc8ht3ifsj] { font-family: monospace; font-size: 12.5px; }
.small-text[b-mc8ht3ifsj] { font-size: 12px; }

.type-badge[b-mc8ht3ifsj] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.type-product[b-mc8ht3ifsj]  { background: #e3f2fd; color: #1565c0; }
.type-semi[b-mc8ht3ifsj]     { background: #f3e5f5; color: #6a1b9a; }
.type-material[b-mc8ht3ifsj] { background: #fff3e0; color: #e65100; }
.type-default[b-mc8ht3ifsj]  { background: var(--bg-main); color: var(--text-muted); }

/* 섹션 타이틀 */
.section-title[b-mc8ht3ifsj] { font-size: 14px; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

/* 품목별 집계 표 */
.summary-table-wrap[b-mc8ht3ifsj] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.summary-table[b-mc8ht3ifsj] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.summary-table thead[b-mc8ht3ifsj] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.summary-table th[b-mc8ht3ifsj] { padding: 10px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.summary-table td[b-mc8ht3ifsj] { padding: 9px 14px; border-bottom: 1px solid var(--border-color-light); }
.summary-table tbody tr:hover td[b-mc8ht3ifsj] { background: var(--hover-bg); }

.empty-wrap[b-mc8ht3ifsj], .loading-wrap[b-mc8ht3ifsj] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-mc8ht3ifsj] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-mc8ht3ifsj] { flex-direction: row; gap: 10px; }
.loading-spinner[b-mc8ht3ifsj] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-mc8ht3ifsj 0.8s linear infinite; }
@keyframes spin-b-mc8ht3ifsj { to { transform: rotate(360deg); } }

@media (max-width: 1200px) { .mgmt-table-wrap[b-mc8ht3ifsj] { overflow-x: auto; } .mgmt-table[b-mc8ht3ifsj] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-mc8ht3ifsj] { padding: 12px 16px; }
    .mgmt-header[b-mc8ht3ifsj] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-mc8ht3ifsj] { flex-direction: column; gap: 8px; }
    .date-input[b-mc8ht3ifsj], .search-input[b-mc8ht3ifsj], .filter-select[b-mc8ht3ifsj] { width: 100%; }
    .btn-excel[b-mc8ht3ifsj], .btn-print[b-mc8ht3ifsj] { width: 100%; justify-content: center; }
    .vendor-cards[b-mc8ht3ifsj] { gap: 8px; }
    .vendor-card[b-mc8ht3ifsj] { min-width: 120px; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-mc8ht3ifsj] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-mc8ht3ifsj] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-mc8ht3ifsj] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-mc8ht3ifsj] { display: flex; gap: 8px; }
.btn-do-print[b-mc8ht3ifsj] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-mc8ht3ifsj] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-mc8ht3ifsj] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-mc8ht3ifsj] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-mc8ht3ifsj] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-mc8ht3ifsj] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-mc8ht3ifsj] { font-size: 12px; color: #666; }
.rpt-section[b-mc8ht3ifsj] { margin-bottom: 32px; }
.rpt-section-title[b-mc8ht3ifsj] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-mc8ht3ifsj] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-mc8ht3ifsj], .rpt-table th[b-mc8ht3ifsj] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-mc8ht3ifsj] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-mc8ht3ifsj] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-mc8ht3ifsj] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-mc8ht3ifsj] { background: #f8f8f8; }
.rpt-footer[b-mc8ht3ifsj] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-mc8ht3ifsj] { display: none !important; }
    .status-print-overlay[b-mc8ht3ifsj] { position: static; background: #fff; }
    .print-paper[b-mc8ht3ifsj] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Inventory/ReceiptRegister.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-7si1bt8qfd] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-7si1bt8qfd] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-7si1bt8qfd 0.3s ease;
}
.toast-success[b-7si1bt8qfd] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-7si1bt8qfd]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-7si1bt8qfd { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-7si1bt8qfd] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-7si1bt8qfd] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-7si1bt8qfd] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-7si1bt8qfd] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-7si1bt8qfd] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-7si1bt8qfd] { font-size: 13px; color: var(--text-muted); }
.search-input[b-7si1bt8qfd] { width: 160px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-7si1bt8qfd] { width: 120px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-add[b-7si1bt8qfd] {
    padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover[b-7si1bt8qfd] { opacity: 0.9; }
.btn-excel[b-7si1bt8qfd] {
    padding: 8px 14px; background: #217346; color: #fff;
    border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-excel:hover[b-7si1bt8qfd] { opacity: 0.9; }
.btn-print[b-7si1bt8qfd] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-7si1bt8qfd] { opacity: 0.9; }

/* 요약 스트립 */
.summary-strip[b-7si1bt8qfd] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-7si1bt8qfd] { flex: 1; min-width: 130px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.strip-label[b-7si1bt8qfd] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.strip-value[b-7si1bt8qfd] { font-size: 20px; font-weight: 700; color: var(--text-primary); }
.strip-active .strip-value[b-7si1bt8qfd]  { color: #2e7d32; }
.strip-product .strip-value[b-7si1bt8qfd] { color: #1565c0; }

/* 테이블 */
.mgmt-table-wrap[b-7si1bt8qfd] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; box-shadow: none; }
.mgmt-table-wrap .table-scroll-container[b-7si1bt8qfd] { border: 0 !important; border-radius: 0; box-shadow: none !important; background: transparent; }
.mgmt-table[b-7si1bt8qfd] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table-wrap .resizable-table[b-7si1bt8qfd] { background: var(--bg-surface); }
.mgmt-table-wrap .resizable-table tbody tr:last-child[b-7si1bt8qfd] { border-bottom: 0; }
.mgmt-table-wrap .resizable-table tbody tr:last-child td[b-7si1bt8qfd] { border-bottom: 0; }
.mgmt-table thead[b-7si1bt8qfd] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-7si1bt8qfd] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-7si1bt8qfd] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-7si1bt8qfd] { background: var(--hover-bg); }
#receiptTable th[b-7si1bt8qfd],
#receiptTable td[b-7si1bt8qfd] { text-align: center; }
#receiptTable .item-name[b-7si1bt8qfd],
#receiptTable .vendor-cell[b-7si1bt8qfd] { text-align: left; }
#receiptTable .text-end[b-7si1bt8qfd] { text-align: right; }

.code-text[b-7si1bt8qfd] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-7si1bt8qfd] { font-weight: 600; }
.price-cell[b-7si1bt8qfd] { font-family: monospace; font-size: 12.5px; }
.small-text[b-7si1bt8qfd] { font-size: 12px; }

.type-badge[b-7si1bt8qfd] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.type-product[b-7si1bt8qfd]  { background: #e3f2fd; color: #1565c0; }
.type-semi[b-7si1bt8qfd]     { background: #f3e5f5; color: #6a1b9a; }
.type-material[b-7si1bt8qfd] { background: #fff3e0; color: #e65100; }
.type-default[b-7si1bt8qfd]  { background: var(--bg-main); color: var(--text-muted); }

.action-btns[b-7si1bt8qfd] { display: flex; gap: 4px; }
.btn-action[b-7si1bt8qfd] { width: 30px; height: 30px; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-surface); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; transition: all 0.15s; }
.btn-warn[b-7si1bt8qfd]  { color: #e65100; }
.btn-warn:hover[b-7si1bt8qfd]  { background: #e65100; color: #fff; border-color: #e65100; }

.empty-wrap[b-7si1bt8qfd], .loading-wrap[b-7si1bt8qfd] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-7si1bt8qfd] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-7si1bt8qfd] { flex-direction: row; gap: 10px; }
.loading-spinner[b-7si1bt8qfd] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-7si1bt8qfd 0.8s linear infinite; }
@keyframes spin-b-7si1bt8qfd { to { transform: rotate(360deg); } }

/* 모달 */
.modal-overlay[b-7si1bt8qfd] { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000; display: flex; align-items: center; justify-content: center; animation: fadeIn-b-7si1bt8qfd 0.2s; }
.modal-panel[b-7si1bt8qfd] { background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw; max-height: 85vh; display: flex; flex-direction: column; box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-7si1bt8qfd 0.25s ease; color: var(--text-primary); }
.modal-panel.receipt-modal[b-7si1bt8qfd] { width: 660px; }
.modal-panel.modal-sm[b-7si1bt8qfd] { width: 440px; }
@keyframes fadeIn-b-7si1bt8qfd  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-7si1bt8qfd { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-7si1bt8qfd] { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-bottom: 1px solid var(--border-color); }
.modal-head h5[b-7si1bt8qfd] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-7si1bt8qfd] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-7si1bt8qfd] { color: var(--text-secondary); }

.modal-body-content[b-7si1bt8qfd] { flex: 1; overflow-y: auto; padding: 20px 24px; }
.field-grid[b-7si1bt8qfd] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.field-item[b-7si1bt8qfd] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span[b-7si1bt8qfd] { grid-column: span 2; }
.field-item label[b-7si1bt8qfd] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-7si1bt8qfd] { font-size: 13px; padding: 7px 10px; border-radius: 6px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.required[b-7si1bt8qfd] { color: #d32f2f; }
.delete-confirm-text[b-7si1bt8qfd] { margin: 0; line-height: 1.8; font-size: 14px; }

.modal-foot[b-7si1bt8qfd] { padding: 14px 24px; border-top: 1px solid var(--border-color); display: flex; gap: 8px; justify-content: flex-end; }
.btn-modal-save[b-7si1bt8qfd] { padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.btn-modal-save:hover:not(:disabled)[b-7si1bt8qfd] { opacity: 0.9; }
.btn-modal-save:disabled[b-7si1bt8qfd] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-7si1bt8qfd] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-7si1bt8qfd] { padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary); border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.btn-modal-cancel:hover[b-7si1bt8qfd] { background: var(--hover-bg); }

@media (max-width: 1200px) { .mgmt-table-wrap[b-7si1bt8qfd] { overflow-x: auto; } .mgmt-table[b-7si1bt8qfd] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-7si1bt8qfd] { padding: 12px 16px; }
    .mgmt-header[b-7si1bt8qfd] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-7si1bt8qfd] { flex-direction: column; gap: 8px; }
    .date-input[b-7si1bt8qfd], .search-input[b-7si1bt8qfd], .filter-select[b-7si1bt8qfd] { width: 100%; }
    .btn-add[b-7si1bt8qfd], .btn-excel[b-7si1bt8qfd], .btn-print[b-7si1bt8qfd] { width: 100%; justify-content: center; }
    .summary-strip[b-7si1bt8qfd] { gap: 8px; }
    .strip-card[b-7si1bt8qfd] { min-width: 100px; }
    .field-grid[b-7si1bt8qfd] { grid-template-columns: 1fr; }
    .field-item.full-span[b-7si1bt8qfd] { grid-column: span 1; }
}
@media (max-width: 480px) {
    .mgmt-page[b-7si1bt8qfd] { padding: 8px 12px; }
    .modal-panel[b-7si1bt8qfd], .modal-panel.receipt-modal[b-7si1bt8qfd], .modal-panel.modal-sm[b-7si1bt8qfd] { width: 95vw; max-width: none; border-radius: 12px; max-height: 95vh; }
    .modal-head[b-7si1bt8qfd] { padding: 12px 16px; }
    .modal-body-content[b-7si1bt8qfd] { padding: 12px 16px; }
    .modal-foot[b-7si1bt8qfd] { padding: 10px 16px; }
    .btn-modal-save[b-7si1bt8qfd], .btn-modal-cancel[b-7si1bt8qfd] { padding: 8px 12px; font-size: 12px; flex: 1; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-7si1bt8qfd] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-7si1bt8qfd] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-7si1bt8qfd] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-7si1bt8qfd] { display: flex; gap: 8px; }
.btn-do-print[b-7si1bt8qfd] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-7si1bt8qfd] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-7si1bt8qfd] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-7si1bt8qfd] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-7si1bt8qfd] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-7si1bt8qfd] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-7si1bt8qfd] { font-size: 12px; color: #666; }
.rpt-section[b-7si1bt8qfd] { margin-bottom: 32px; }
.rpt-section-title[b-7si1bt8qfd] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-7si1bt8qfd] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-7si1bt8qfd], .rpt-table th[b-7si1bt8qfd] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-7si1bt8qfd] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-7si1bt8qfd] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-7si1bt8qfd] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-7si1bt8qfd] { background: #f8f8f8; }
.rpt-footer[b-7si1bt8qfd] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-7si1bt8qfd] { display: none !important; }
    .status-print-overlay[b-7si1bt8qfd] { position: static; background: #fff; }
    .print-paper[b-7si1bt8qfd] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Inventory/ReceiptStatus.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-wwjb6l9pu1] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-header[b-wwjb6l9pu1] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-wwjb6l9pu1] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-wwjb6l9pu1] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-wwjb6l9pu1] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-wwjb6l9pu1] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-wwjb6l9pu1] { font-size: 13px; color: var(--text-muted); }
.search-input[b-wwjb6l9pu1] { width: 150px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-wwjb6l9pu1] { width: 130px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-excel[b-wwjb6l9pu1] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-wwjb6l9pu1] { opacity: 0.9; }
.btn-print[b-wwjb6l9pu1] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-wwjb6l9pu1] { opacity: 0.9; }

/* 거래처 카드 */
.vendor-cards[b-wwjb6l9pu1] { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.vendor-card[b-wwjb6l9pu1] { flex: 1; min-width: 140px; max-width: 220px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 14px 16px; }
.vendor-name[b-wwjb6l9pu1] { font-size: 12px; font-weight: 700; color: var(--text-primary); margin-bottom: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vendor-amount[b-wwjb6l9pu1] { font-size: 16px; font-weight: 700; color: #1565c0; }
.vendor-count[b-wwjb6l9pu1] { font-size: 11px; margin-top: 2px; }

/* 테이블 */
.mgmt-table-wrap[b-wwjb6l9pu1] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mb-section[b-wwjb6l9pu1] { margin-bottom: 24px; }
.mgmt-table[b-wwjb6l9pu1] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-wwjb6l9pu1] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-wwjb6l9pu1] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-wwjb6l9pu1] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-wwjb6l9pu1] { background: var(--hover-bg); }
#receiptStatusTable th[b-wwjb6l9pu1],
#receiptStatusTable td[b-wwjb6l9pu1] { text-align: center; }
#receiptStatusTable .item-name[b-wwjb6l9pu1],
#receiptStatusTable .vendor-cell[b-wwjb6l9pu1] { text-align: left; }
#receiptStatusTable .text-end[b-wwjb6l9pu1] { text-align: right; }

.code-text[b-wwjb6l9pu1] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-wwjb6l9pu1] { font-weight: 600; }
.price-cell[b-wwjb6l9pu1] { font-family: monospace; font-size: 12.5px; }
.small-text[b-wwjb6l9pu1] { font-size: 12px; }

.type-badge[b-wwjb6l9pu1] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.type-product[b-wwjb6l9pu1]  { background: #e3f2fd; color: #1565c0; }
.type-semi[b-wwjb6l9pu1]     { background: #f3e5f5; color: #6a1b9a; }
.type-material[b-wwjb6l9pu1] { background: #fff3e0; color: #e65100; }
.type-default[b-wwjb6l9pu1]  { background: var(--bg-main); color: var(--text-muted); }

/* 섹션 타이틀 */
.section-title[b-wwjb6l9pu1] { font-size: 14px; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

/* 품목별 집계 표 */
.summary-table-wrap[b-wwjb6l9pu1] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.summary-table[b-wwjb6l9pu1] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.summary-table thead[b-wwjb6l9pu1] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.summary-table th[b-wwjb6l9pu1] { padding: 10px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.summary-table td[b-wwjb6l9pu1] { padding: 9px 14px; border-bottom: 1px solid var(--border-color-light); }
.summary-table tbody tr:hover td[b-wwjb6l9pu1] { background: var(--hover-bg); }

.empty-wrap[b-wwjb6l9pu1], .loading-wrap[b-wwjb6l9pu1] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-wwjb6l9pu1] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-wwjb6l9pu1] { flex-direction: row; gap: 10px; }
.loading-spinner[b-wwjb6l9pu1] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-wwjb6l9pu1 0.8s linear infinite; }
@keyframes spin-b-wwjb6l9pu1 { to { transform: rotate(360deg); } }

@media (max-width: 1200px) { .mgmt-table-wrap[b-wwjb6l9pu1] { overflow-x: auto; } .mgmt-table[b-wwjb6l9pu1] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-wwjb6l9pu1] { padding: 12px 16px; }
    .mgmt-header[b-wwjb6l9pu1] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-wwjb6l9pu1] { flex-direction: column; gap: 8px; }
    .date-input[b-wwjb6l9pu1], .search-input[b-wwjb6l9pu1], .filter-select[b-wwjb6l9pu1] { width: 100%; }
    .btn-excel[b-wwjb6l9pu1], .btn-print[b-wwjb6l9pu1] { width: 100%; justify-content: center; }
    .vendor-cards[b-wwjb6l9pu1] { gap: 8px; }
    .vendor-card[b-wwjb6l9pu1] { min-width: 120px; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-wwjb6l9pu1] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-wwjb6l9pu1] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-wwjb6l9pu1] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-wwjb6l9pu1] { display: flex; gap: 8px; }
.btn-do-print[b-wwjb6l9pu1] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-wwjb6l9pu1] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-wwjb6l9pu1] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-wwjb6l9pu1] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-wwjb6l9pu1] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-wwjb6l9pu1] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-wwjb6l9pu1] { font-size: 12px; color: #666; }
.rpt-section[b-wwjb6l9pu1] { margin-bottom: 32px; }
.rpt-section-title[b-wwjb6l9pu1] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-wwjb6l9pu1] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-wwjb6l9pu1], .rpt-table th[b-wwjb6l9pu1] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-wwjb6l9pu1] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-wwjb6l9pu1] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-wwjb6l9pu1] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-wwjb6l9pu1] { background: #f8f8f8; }
.rpt-footer[b-wwjb6l9pu1] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-wwjb6l9pu1] { display: none !important; }
    .status-print-overlay[b-wwjb6l9pu1] { position: static; background: #fff; }
    .print-paper[b-wwjb6l9pu1] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Inventory/StockStatus.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-ahlu0jmj7p] { padding: 20px 28px; color: var(--text-primary); }

/* 토스트 */
.mgmt-toast[b-ahlu0jmj7p] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-ahlu0jmj7p 0.3s ease;
}
.toast-info[b-ahlu0jmj7p] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
@keyframes toastIn-b-ahlu0jmj7p { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* 헤더 */
.mgmt-header[b-ahlu0jmj7p] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-ahlu0jmj7p] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-ahlu0jmj7p] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-ahlu0jmj7p] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

/* 기간 탭 */
.period-tabs[b-ahlu0jmj7p] {
    display: flex; background: var(--bg-main);
    border: 1px solid var(--border-color); border-radius: 9px;
    padding: 3px; gap: 2px;
}
.period-tab[b-ahlu0jmj7p] {
    padding: 6px 16px; border: none; background: transparent;
    color: var(--text-muted); border-radius: 7px;
    font-size: 13px; font-weight: 600; cursor: pointer;
    transition: all 0.2s; white-space: nowrap; display: flex; align-items: center;
}
.period-tab:hover[b-ahlu0jmj7p] { color: var(--text-primary); background: var(--hover-bg); }
.period-tab.active[b-ahlu0jmj7p] { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }

.date-input[b-ahlu0jmj7p] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-ahlu0jmj7p] { font-size: 13px; color: var(--text-muted); }
.search-input[b-ahlu0jmj7p] { width: 150px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-ahlu0jmj7p] { width: 120px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-excel[b-ahlu0jmj7p] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-ahlu0jmj7p] { opacity: 0.9; }
.btn-print[b-ahlu0jmj7p] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-ahlu0jmj7p] { opacity: 0.9; }

/* 요약 스트립 */
.summary-strip[b-ahlu0jmj7p] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-ahlu0jmj7p] {
    flex: 1; min-width: 130px; background: var(--bg-surface);
    border: 1px solid var(--border-color); border-radius: 10px;
    padding: 12px 16px; display: flex; flex-direction: column; gap: 4px;
}
.strip-label[b-ahlu0jmj7p] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.strip-value[b-ahlu0jmj7p] { font-size: 20px; font-weight: 700; color: var(--text-primary); }
.small-value[b-ahlu0jmj7p] { font-size: 12.5px; }
.strip-danger .strip-value[b-ahlu0jmj7p] { color: #c62828; }
.strip-safe .strip-value[b-ahlu0jmj7p]   { color: #2e7d32; }
.strip-receipt .strip-value[b-ahlu0jmj7p] { color: #1565c0; }
.strip-issue .strip-value[b-ahlu0jmj7p]   { color: #e65100; }

/* 테이블 래퍼 */
.mgmt-table-wrap[b-ahlu0jmj7p] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mgmt-table[b-ahlu0jmj7p] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-ahlu0jmj7p] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-ahlu0jmj7p] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-ahlu0jmj7p] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-ahlu0jmj7p] { background: var(--hover-bg); }
#stockDailyTable th[b-ahlu0jmj7p],
#stockDailyTable td[b-ahlu0jmj7p],
#stockTrendTable th[b-ahlu0jmj7p],
#stockTrendTable td[b-ahlu0jmj7p] { text-align: center; }
#stockDailyTable .item-name[b-ahlu0jmj7p],
#stockTrendTable .item-name[b-ahlu0jmj7p] { text-align: left; }
#stockDailyTable .text-end[b-ahlu0jmj7p],
#stockTrendTable .text-end[b-ahlu0jmj7p] { text-align: right; }

.code-text[b-ahlu0jmj7p] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-ahlu0jmj7p] { font-weight: 600; }

/* 안전재고 */
.safety-stock-val[b-ahlu0jmj7p] { font-family: monospace; font-size: 12.5px; color: var(--text-muted); }

/* 입출고 수량 색상 */
.receipt-qty[b-ahlu0jmj7p] { color: #1565c0; font-weight: 600; font-family: monospace; font-size: 12.5px; }
.issue-qty[b-ahlu0jmj7p]   { color: #e65100; font-weight: 600; font-family: monospace; font-size: 12.5px; }

/* 현재고 상태 */
.stock-ok[b-ahlu0jmj7p]     { color: #2e7d32; }
.stock-danger[b-ahlu0jmj7p] { color: #c62828; }

/* 안전재고 미달 행 */
.row-danger td[b-ahlu0jmj7p] { background: rgba(198, 40, 40, 0.04) !important; }
.row-danger:hover td[b-ahlu0jmj7p] { background: rgba(198, 40, 40, 0.09) !important; }

/* 상태 배지 */
.status-badge[b-ahlu0jmj7p] {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 10px; border-radius: 20px;
    font-size: 11px; font-weight: 600; white-space: nowrap;
}
.status-ok[b-ahlu0jmj7p]     { background: #e8f5e9; color: #2e7d32; }
.status-danger[b-ahlu0jmj7p] { background: #fce4ec; color: #c62828; }

/* 기간 레이블 (주별/월별) */
.period-label[b-ahlu0jmj7p] { font-family: monospace; font-size: 12.5px; color: #6a1b9a; font-weight: 700; }
.period-row-start td[b-ahlu0jmj7p] { border-top: 2px solid var(--border-color); }

/* 유형 배지 */
.type-badge[b-ahlu0jmj7p] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.type-product[b-ahlu0jmj7p]    { background: #e3f2fd; color: #1565c0; }
.type-semi[b-ahlu0jmj7p]       { background: #f3e5f5; color: #6a1b9a; }
.type-material[b-ahlu0jmj7p]   { background: #fff3e0; color: #e65100; }
.type-consumable[b-ahlu0jmj7p] { background: #f1f8e9; color: #558b2f; }
.type-service[b-ahlu0jmj7p]    { background: #fce4ec; color: #c62828; }
.type-default[b-ahlu0jmj7p]    { background: var(--bg-main); color: var(--text-muted); }

/* 빈 화면 / 로딩 */
.empty-wrap[b-ahlu0jmj7p], .loading-wrap[b-ahlu0jmj7p] {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 60px 20px; color: var(--text-muted);
}
.empty-wrap i[b-ahlu0jmj7p] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-ahlu0jmj7p] { flex-direction: row; gap: 10px; }
.loading-spinner[b-ahlu0jmj7p] {
    width: 20px; height: 20px;
    border: 3px solid var(--border-color);
    border-top-color: var(--accent);
    border-radius: 50%; animation: spin-b-ahlu0jmj7p 0.8s linear infinite;
}
@keyframes spin-b-ahlu0jmj7p { to { transform: rotate(360deg); } }

/* 반응형 */
@media (max-width: 1200px) {
    .mgmt-table-wrap[b-ahlu0jmj7p] { overflow-x: auto; }
    .mgmt-table[b-ahlu0jmj7p] { min-width: 920px; }
}
@media (max-width: 768px) {
    .mgmt-page[b-ahlu0jmj7p] { padding: 12px 16px; }
    .mgmt-header[b-ahlu0jmj7p] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-ahlu0jmj7p] { flex-direction: column; gap: 8px; }
    .period-tabs[b-ahlu0jmj7p] { width: 100%; }
    .period-tab[b-ahlu0jmj7p] { flex: 1; justify-content: center; }
    .date-input[b-ahlu0jmj7p], .search-input[b-ahlu0jmj7p], .filter-select[b-ahlu0jmj7p] { width: 100%; }
    .btn-excel[b-ahlu0jmj7p], .btn-print[b-ahlu0jmj7p] { width: 100%; justify-content: center; }
    .summary-strip[b-ahlu0jmj7p] { gap: 8px; }
    .strip-card[b-ahlu0jmj7p] { min-width: 100px; }
}
@media (max-width: 480px) {
    .mgmt-page[b-ahlu0jmj7p] { padding: 8px 12px; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-ahlu0jmj7p] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-ahlu0jmj7p] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-ahlu0jmj7p] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-ahlu0jmj7p] { display: flex; gap: 8px; }
.btn-do-print[b-ahlu0jmj7p] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-ahlu0jmj7p] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-ahlu0jmj7p] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-ahlu0jmj7p] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-ahlu0jmj7p] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-ahlu0jmj7p] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-ahlu0jmj7p] { font-size: 12px; color: #666; }
.rpt-section[b-ahlu0jmj7p] { margin-bottom: 32px; }
.rpt-section-title[b-ahlu0jmj7p] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-ahlu0jmj7p] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-ahlu0jmj7p], .rpt-table th[b-ahlu0jmj7p] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-ahlu0jmj7p] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-ahlu0jmj7p] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-ahlu0jmj7p] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-ahlu0jmj7p] { background: #f8f8f8; }
.rpt-footer[b-ahlu0jmj7p] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-ahlu0jmj7p] { display: none !important; }
    .status-print-overlay[b-ahlu0jmj7p] { position: static; background: #fff; }
    .print-paper[b-ahlu0jmj7p] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Master/BomManagement.razor.rz.scp.css */
/* ══════════════════════════════════════════════════
   BOM 관리 — 공통
══════════════════════════════════════════════════ */
.mgmt-page[b-uco5ucipbq] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-uco5ucipbq] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-uco5ucipbq 0.3s ease;
}
.toast-success[b-uco5ucipbq] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-uco5ucipbq]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-uco5ucipbq { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* ── 헤더 ── */
.mgmt-header[b-uco5ucipbq] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-uco5ucipbq] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-uco5ucipbq] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-uco5ucipbq] { display: flex; gap: 10px; align-items: center; }

.btn-back[b-uco5ucipbq] {
    padding: 8px 16px; background: var(--bg-surface);
    border: 1px solid var(--border-color); border-radius: 8px;
    font-size: 13px; font-weight: 600; color: var(--text-secondary); cursor: pointer;
    display: flex; align-items: center; gap: 6px;
}
.btn-back:hover[b-uco5ucipbq] { background: var(--hover-bg); }

/* ══════════════════════════════════════════════════
   2-패널 레이아웃
══════════════════════════════════════════════════ */
.bom-layout[b-uco5ucipbq] {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 16px;
    align-items: start;
}

/* ── 좌측 품목 패널 ── */
.bom-left[b-uco5ucipbq] {
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    position: sticky;
    top: 72px;
}

.panel-head[b-uco5ucipbq] {
    padding: 12px 14px;
    background: var(--bg-main);
    border-bottom: 1px solid var(--border-color);
    font-size: 13px; font-weight: 700; color: var(--text-primary);
    display: flex; flex-direction: column; gap: 8px;
}

/* ── 좌측 품목구분 탭 ── */
.left-type-tabs[b-uco5ucipbq] {
    display: flex; flex-wrap: wrap; gap: 0;
    padding: 6px 8px; border-bottom: 1px solid var(--border-color);
    background: var(--bg-surface);
}
.left-type-tab[b-uco5ucipbq] {
    flex: 1; min-width: 0;
    padding: 5px 4px;
    background: none; border: none; border-radius: 6px;
    font-size: 11.5px; font-weight: 600; color: var(--text-muted);
    cursor: pointer; white-space: nowrap; text-align: center;
    transition: all 0.15s; display: flex; align-items: center; justify-content: center; gap: 3px;
}
.left-type-tab:hover[b-uco5ucipbq] { background: var(--hover-bg); color: var(--text-primary); }
.left-type-tab.left-tab-active[b-uco5ucipbq] {
    background: var(--accent-soft); color: var(--accent);
}
.left-tab-count[b-uco5ucipbq] {
    font-size: 10px; font-weight: 700;
    background: var(--bg-main); border-radius: 10px;
    padding: 0 4px; min-width: 16px; text-align: center;
    color: var(--text-muted);
}
.left-type-tab.left-tab-active .left-tab-count[b-uco5ucipbq] {
    background: var(--accent); color: #fff;
}

.item-search[b-uco5ucipbq] {
    width: 100%; font-size: 12.5px; padding: 6px 10px;
    border: 1px solid var(--border-color); border-radius: 6px;
    background: var(--bg-input); color: var(--text-primary);
}

.item-list-wrap[b-uco5ucipbq] { max-height: calc(100vh - 250px); overflow-y: auto; }

.item-list-row[b-uco5ucipbq] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border-color-light);
    cursor: pointer;
    transition: background 0.15s;
    display: flex; flex-direction: column; gap: 3px;
}
.item-list-row:hover[b-uco5ucipbq] { background: var(--hover-bg); }
.item-list-row.item-selected[b-uco5ucipbq] { background: var(--accent-soft); border-left: 3px solid var(--accent); }

.item-list-code[b-uco5ucipbq] { font-size: 11px; font-family: monospace; color: var(--text-muted); }
.item-list-name[b-uco5ucipbq] { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.item-list-meta[b-uco5ucipbq] { display: flex; align-items: center; gap: 6px; margin-top: 2px; }

.bom-dot[b-uco5ucipbq] { color: #4338ca; font-size: 10px; }

/* ── 우측 BOM 트리 ── */
.bom-right[b-uco5ucipbq] {
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
}

.bom-empty[b-uco5ucipbq] {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 80px 20px;
    color: var(--text-muted);
}
.bom-empty i[b-uco5ucipbq] { font-size: 48px; margin-bottom: 12px; opacity: 0.3; }
.bom-empty p[b-uco5ucipbq] { font-size: 14px; margin: 0; }

/* 트리 헤더 */
.bom-tree-header[b-uco5ucipbq] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px;
    background: var(--bg-main);
    border-bottom: 1px solid var(--border-color);
}
.bom-tree-title[b-uco5ucipbq] {
    display: flex; align-items: center; gap: 4px;
    font-size: 14px; color: var(--text-primary); flex-wrap: wrap;
}
.tree-spec[b-uco5ucipbq] { font-size: 12px; color: var(--text-muted); }
.text-accent[b-uco5ucipbq] { color: var(--accent); }

.btn-add-bom[b-uco5ucipbq] {
    padding: 6px 14px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 7px;
    font-size: 12.5px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 5px; white-space: nowrap;
}
.btn-add-bom:hover[b-uco5ucipbq] { opacity: 0.9; }

.bom-tree-actions[b-uco5ucipbq] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.btn-excel[b-uco5ucipbq] { padding: 6px 12px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 12.5px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.btn-excel:hover[b-uco5ucipbq] { opacity: 0.9; }
.btn-print[b-uco5ucipbq] { padding: 6px 12px; background: #1565c0; color: #fff; border: none; border-radius: 7px; font-size: 12.5px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.btn-print:hover[b-uco5ucipbq] { opacity: 0.9; }

/* 컬럼 헤더 */
.bom-col-header[b-uco5ucipbq] {
    display: grid;
    grid-template-columns: 220px 96px 110px 54px 72px 64px 68px 1fr 72px;
    padding: 8px 18px; gap: 8px;
    background: var(--bg-main);
    border-bottom: 1px solid var(--border-color);
    font-size: 10.5px; font-weight: 700; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.3px;
}

/* 루트 행 */
.bom-root-row[b-uco5ucipbq] {
    display: grid;
    grid-template-columns: 220px 96px 110px 54px 72px 64px 68px 1fr 72px;
    padding: 12px 18px; gap: 8px;
    background: rgba(102,126,234,0.05);
    border-bottom: 2px solid var(--border-color);
    font-size: 13px; align-items: center;
}

/* 자품목 트리 행 */
.bom-tree-row[b-uco5ucipbq] {
    display: grid;
    grid-template-columns: 220px 96px 110px 54px 72px 64px 68px 1fr 72px;
    padding: 10px 18px; gap: 8px;
    border-bottom: 1px solid var(--border-color-light);
    font-size: 13px; align-items: center;
    transition: background 0.15s;
}
.bom-tree-row:hover[b-uco5ucipbq] { background: var(--hover-bg); }
.bom-tree-row:last-child[b-uco5ucipbq] { border-bottom: none; }
.bom-tree-row.row-editing[b-uco5ucipbq] { background: #fffbeb; }

/* 트리 행 공통 */
.col-tree[b-uco5ucipbq] { display: flex; align-items: center; gap: 2px; overflow: hidden; }

/* 접기/펼치기 버튼 */
.btn-tree-toggle[b-uco5ucipbq] {
    width: 20px; height: 20px; flex-shrink: 0;
    background: none; border: none; cursor: pointer;
    color: var(--text-muted); border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; transition: all 0.15s;
    padding: 0;
}
.btn-tree-toggle:hover[b-uco5ucipbq] { background: var(--hover-bg); color: var(--accent); }

/* 리프 노드 점 */
.tree-leaf[b-uco5ucipbq] {
    width: 20px; height: 20px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
}
.tree-leaf[b-uco5ucipbq]::after {
    content: ''; display: block;
    width: 5px; height: 5px; border-radius: 50%;
    background: var(--border-color);
}

/* 트리 아이콘 */
.tree-icon[b-uco5ucipbq] { color: var(--accent); font-size: 13px; flex-shrink: 0; margin: 0 4px; }
.tree-icon-sub[b-uco5ucipbq] { color: #64748b; }

/* 트리 이름 */
.tree-name[b-uco5ucipbq] { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }

/* 하위 자재 있는 행 */
.bom-tree-row.row-has-child[b-uco5ucipbq] { background: rgba(102,126,234,0.03); }
.bom-tree-row.row-has-child .tree-name[b-uco5ucipbq] { font-weight: 600; }

/* 컬럼 공통 */
.col-tree[b-uco5ucipbq]   { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.col-code[b-uco5ucipbq]   { font-size: 11.5px; }
.col-spec[b-uco5ucipbq]   { font-size: 11.5px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.col-unit[b-uco5ucipbq]   { }
.col-type[b-uco5ucipbq]   { }
.col-qty[b-uco5ucipbq]    { font-family: monospace; font-weight: 600; color: var(--text-primary); }
.col-lt[b-uco5ucipbq]     { font-size: 12px; }
.col-remark[b-uco5ucipbq] { font-size: 11.5px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.col-action[b-uco5ucipbq] { }
.qty-cell[b-uco5ucipbq]   { color: #1976d2; }

.mono[b-uco5ucipbq] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.text-muted[b-uco5ucipbq] { color: var(--text-muted); }
.text-center[b-uco5ucipbq] { text-align: center; }

.bom-col-header > *[b-uco5ucipbq],
.bom-root-row > *[b-uco5ucipbq],
.bom-tree-row > *[b-uco5ucipbq] {
    text-align: center;
}

.bom-col-header .col-tree[b-uco5ucipbq],
.bom-root-row .col-tree[b-uco5ucipbq],
.bom-tree-row .col-tree[b-uco5ucipbq] {
    justify-content: flex-start;
    text-align: left;
}

.bom-col-header .col-spec[b-uco5ucipbq],
.bom-root-row .col-spec[b-uco5ucipbq],
.bom-tree-row .col-spec[b-uco5ucipbq] {
    text-align: left;
}

.bom-col-header .col-qty[b-uco5ucipbq],
.bom-root-row .col-qty[b-uco5ucipbq],
.bom-tree-row .col-qty[b-uco5ucipbq] {
    text-align: right;
}

.bom-no-child[b-uco5ucipbq] {
    padding: 32px 18px;
    font-size: 13px; color: var(--text-muted);
}
.btn-link-style[b-uco5ucipbq] {
    background: none; border: none; color: var(--accent);
    font-size: 13px; cursor: pointer; padding: 0; font-weight: 600;
}
.btn-link-style:hover[b-uco5ucipbq] { text-decoration: underline; }

.bom-summary-row[b-uco5ucipbq] {
    padding: 10px 18px;
    font-size: 12px; color: var(--text-muted);
    background: var(--bg-main);
    border-top: 1px solid var(--border-color);
}

/* ── 유형 배지 (소형) ── */
.type-badge-sm[b-uco5ucipbq] {
    display: inline-block; padding: 2px 7px;
    border-radius: 20px; font-size: 10.5px; font-weight: 600; white-space: nowrap;
}
.type-product[b-uco5ucipbq]    { background: #e3f2fd; color: #1565c0; }
.type-semi[b-uco5ucipbq]       { background: #f3e5f5; color: #6a1b9a; }
.type-material[b-uco5ucipbq]   { background: #fff3e0; color: #e65100; }
.type-consumable[b-uco5ucipbq] { background: #fce4ec; color: #c62828; }
.type-service[b-uco5ucipbq]    { background: #e8f5e9; color: #2e7d32; }
.type-default[b-uco5ucipbq]    { background: var(--bg-main); color: var(--text-muted); }

/* ── 액션 버튼 ── */
.action-btns[b-uco5ucipbq] { display: flex; gap: 4px; }
.btn-action[b-uco5ucipbq] {
    width: 28px; height: 28px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; transition: all 0.15s;
}
.btn-edit[b-uco5ucipbq]  { color: #1976d2; }
.btn-edit:hover[b-uco5ucipbq]  { background: #1976d2; color: #fff; border-color: #1976d2; }
.btn-warn[b-uco5ucipbq]  { color: #e65100; }
.btn-warn:hover[b-uco5ucipbq]  { background: #e65100; color: #fff; border-color: #e65100; }

/* ══════════════════════════════════════════════════
   모달
══════════════════════════════════════════════════ */
.modal-overlay[b-uco5ucipbq] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-uco5ucipbq 0.2s;
}
.modal-panel[b-uco5ucipbq] {
    background: var(--bg-surface); border-radius: 14px; width: 520px; max-width: 95vw;
    max-height: 85vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-uco5ucipbq 0.25s ease;
    color: var(--text-primary);
}
.modal-panel.bom-modal[b-uco5ucipbq] { width: 560px; }
.modal-panel.modal-sm[b-uco5ucipbq]  { width: 420px; }
@keyframes fadeIn-b-uco5ucipbq  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-uco5ucipbq { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-uco5ucipbq] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-uco5ucipbq] { margin: 0; font-size: 16px; font-weight: 700; }
.btn-close-modal[b-uco5ucipbq] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }

.modal-body-content[b-uco5ucipbq] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.field-grid-3[b-uco5ucipbq] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.field-item[b-uco5ucipbq] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span-3[b-uco5ucipbq] { grid-column: span 2; }
.mb-3[b-uco5ucipbq] { margin-bottom: 12px; }
.field-item label[b-uco5ucipbq] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-uco5ucipbq] {
    font-size: 13px; padding: 7px 10px; border-radius: 6px;
    border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary);
}
.required[b-uco5ucipbq] { color: #d32f2f; }

/* 자품목 검색 결과 */
.comp-search-list[b-uco5ucipbq] {
    border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden;
    max-height: 220px; overflow-y: auto;
}
.comp-search-item[b-uco5ucipbq] {
    display: flex; align-items: center; padding: 8px 12px;
    font-size: 13px; cursor: pointer;
    border-bottom: 1px solid var(--border-color-light);
    transition: background 0.12s;
}
.comp-search-item:last-child[b-uco5ucipbq] { border-bottom: none; }
.comp-search-item:hover[b-uco5ucipbq] { background: var(--hover-bg); }
.comp-search-item.comp-selected[b-uco5ucipbq] { background: var(--accent-soft); }
.ms-auto[b-uco5ucipbq] { margin-left: auto; }
.ms-1[b-uco5ucipbq] { margin-left: 4px; }
.ms-2[b-uco5ucipbq] { margin-left: 8px; }

.selected-comp-info[b-uco5ucipbq] {
    padding: 10px 14px;
    background: var(--accent-soft);
    border-radius: 8px;
    font-size: 13px;
    color: var(--text-primary);
    display: flex; align-items: center; gap: 4px;
}

.modal-foot[b-uco5ucipbq] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-uco5ucipbq] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover:not(:disabled)[b-uco5ucipbq] { opacity: 0.9; }
.btn-modal-save:disabled[b-uco5ucipbq] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-uco5ucipbq] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-uco5ucipbq] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-uco5ucipbq] { background: var(--hover-bg); }

/* 로딩 */
.loading-wrap[b-uco5ucipbq] {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 40px; color: var(--text-muted); font-size: 13px;
}
.loading-spinner[b-uco5ucipbq] {
    width: 18px; height: 18px; border: 3px solid var(--border-color);
    border-top-color: var(--accent); border-radius: 50%; animation: spin-b-uco5ucipbq 0.8s linear infinite;
}
@keyframes spin-b-uco5ucipbq { to { transform: rotate(360deg); } }

.delete-confirm-text[b-uco5ucipbq] { margin: 0; line-height: 1.8; font-size: 14px; }
.small-text[b-uco5ucipbq] { font-size: 11.5px; }
.small[b-uco5ucipbq] { font-size: 12px; }
.text-success[b-uco5ucipbq] { color: #2e7d32; }
.text-danger[b-uco5ucipbq] { color: #c62828; }

/* ══════════════════════════════════════════════════
   다크모드
══════════════════════════════════════════════════ */
[data-theme="dark"] .toast-success[b-uco5ucipbq] { background: rgba(46,125,50,0.15); border-color: rgba(46,125,50,0.3); }
[data-theme="dark"] .toast-error[b-uco5ucipbq]   { background: rgba(198,40,40,0.15); border-color: rgba(198,40,40,0.3); }
[data-theme="dark"] .bom-tree-row.row-editing[b-uco5ucipbq] { background: rgba(255,251,235,0.05); }
[data-theme="dark"] .type-product[b-uco5ucipbq]    { background: rgba(21,101,192,0.2); }
[data-theme="dark"] .type-semi[b-uco5ucipbq]       { background: rgba(106,27,154,0.2); }
[data-theme="dark"] .type-material[b-uco5ucipbq]   { background: rgba(230,81,0,0.2); }
[data-theme="dark"] .type-consumable[b-uco5ucipbq] { background: rgba(198,40,40,0.2); }
[data-theme="dark"] .type-service[b-uco5ucipbq]    { background: rgba(46,125,50,0.2); }

/* ══════════════════════════════════════════════════
   품목 피커 팝업
══════════════════════════════════════════════════ */
.picker-overlay[b-uco5ucipbq] { z-index: 9500; }
.picker-panel[b-uco5ucipbq] { width: 96vw; max-width: 1280px; max-height: 88vh; }

/* 품목구분 탭 */
.picker-type-tabs[b-uco5ucipbq] {
    display: flex; gap: 0; padding: 0 24px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-surface);
    overflow-x: auto; flex-shrink: 0;
}
.picker-type-tab[b-uco5ucipbq] {
    padding: 10px 16px;
    background: none; border: none; border-bottom: 2px solid transparent;
    font-size: 13px; font-weight: 600; color: var(--text-muted);
    cursor: pointer; white-space: nowrap;
    transition: all 0.15s; margin-bottom: -1px;
}
.picker-type-tab:hover[b-uco5ucipbq] { color: var(--text-primary); }
.picker-type-tab.tab-active[b-uco5ucipbq] {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.picker-search-wrap[b-uco5ucipbq] {
    padding: 12px 24px;
    border-bottom: 1px solid var(--border-color);
    display: flex; align-items: center; gap: 10px;
    background: var(--bg-main);
}
.picker-search-box[b-uco5ucipbq] {
    flex: 1; position: relative; display: flex; align-items: center;
}
.picker-search-icon[b-uco5ucipbq] {
    position: absolute; left: 10px; color: var(--text-muted); font-size: 14px; pointer-events: none;
}
.picker-search-input[b-uco5ucipbq] {
    width: 100%; padding: 8px 32px 8px 32px;
    border: 1px solid var(--border-color); border-radius: 8px;
    background: var(--bg-input); color: var(--text-primary);
    font-size: 13px;
}
.picker-search-input:focus[b-uco5ucipbq] { outline: none; border-color: var(--accent); box-shadow: 0 0 0 2px rgba(102,126,234,0.15); }
.picker-clear-btn[b-uco5ucipbq] {
    position: absolute; right: 8px;
    background: none; border: none; color: var(--text-muted);
    font-size: 14px; cursor: pointer; padding: 2px 4px;
}
.picker-clear-btn:hover[b-uco5ucipbq] { color: var(--text-primary); }
.picker-count[b-uco5ucipbq] {
    font-size: 12px; color: var(--text-muted); white-space: nowrap;
}

.picker-table-wrap[b-uco5ucipbq] {
    flex: 1; overflow-y: auto; overflow-x: hidden;
}
.picker-empty[b-uco5ucipbq] {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 48px 20px;
    color: var(--text-muted);
}
.picker-empty i[b-uco5ucipbq] { font-size: 36px; margin-bottom: 8px; opacity: 0.4; }
.picker-empty p[b-uco5ucipbq] { margin: 0; font-size: 13px; }

.picker-table[b-uco5ucipbq] { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 13px; }
.picker-table thead[b-uco5ucipbq] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); position: sticky; top: 0; }
.picker-table th[b-uco5ucipbq] {
    padding: 9px 14px; font-size: 11px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.picker-row[b-uco5ucipbq] { cursor: pointer; transition: background 0.12s; }
.picker-row td[b-uco5ucipbq] { padding: 9px 14px; border-bottom: 1px solid var(--border-color-light); }
.picker-row:hover td[b-uco5ucipbq] { background: var(--hover-bg); }
.picker-row.picker-selected td[b-uco5ucipbq] { background: var(--accent-soft); }
.picker-row.picker-selected td:first-child[b-uco5ucipbq] { border-left: 3px solid var(--accent); }
.picker-name[b-uco5ucipbq] { font-weight: 600; }

/* ── 자품목 선택 박스 (BOM 모달 내) ── */
.comp-select-section[b-uco5ucipbq] { margin-bottom: 16px; }
.field-label[b-uco5ucipbq] {
    display: block; font-size: 11px; font-weight: 600;
    color: var(--text-muted); text-transform: uppercase;
    letter-spacing: 0.3px; margin-bottom: 6px;
}

.btn-open-picker[b-uco5ucipbq] {
    width: 100%; padding: 10px 16px;
    border: 2px dashed var(--border-color); border-radius: 8px;
    background: var(--bg-main); color: var(--text-muted);
    font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 6px;
    transition: all 0.15s;
}
.btn-open-picker:hover[b-uco5ucipbq] {
    border-color: var(--accent); color: var(--accent); background: var(--accent-soft);
}

.comp-selected-box[b-uco5ucipbq] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; border-radius: 8px;
    background: var(--accent-soft); border: 1px solid rgba(102,126,234,0.25);
    gap: 8px;
}
.comp-selected-info[b-uco5ucipbq] {
    display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: 13px;
}
.comp-code[b-uco5ucipbq] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.comp-name[b-uco5ucipbq] { font-weight: 600; }
.comp-spec[b-uco5ucipbq] { font-size: 12px; color: var(--text-muted); }

.btn-reselect[b-uco5ucipbq] {
    padding: 5px 12px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface);
    color: var(--text-secondary); font-size: 12px; cursor: pointer;
    white-space: nowrap; flex-shrink: 0;
    display: flex; align-items: center; gap: 4px;
}
.btn-reselect:hover[b-uco5ucipbq] { border-color: var(--accent); color: var(--accent); }

/* BOM 폼 그리드 */
.field-grid-bom[b-uco5ucipbq] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.field-full[b-uco5ucipbq] { grid-column: span 2; }

/* ══════════════════════════════════════════════════
   반응형
══════════════════════════════════════════════════ */
@media (max-width: 1200px) {
    .bom-layout[b-uco5ucipbq] { grid-template-columns: 260px 1fr; }
    .bom-col-header[b-uco5ucipbq],
    .bom-root-row[b-uco5ucipbq],
    .bom-tree-row[b-uco5ucipbq] { grid-template-columns: 180px 90px 100px 50px 68px 60px 64px 1fr 68px; }
}
@media (max-width: 900px) {
    .bom-layout[b-uco5ucipbq] { grid-template-columns: 1fr; }
    .bom-left[b-uco5ucipbq] { position: static; max-height: 220px; }
    .item-list-wrap[b-uco5ucipbq] { max-height: 160px; }
    .bom-col-header[b-uco5ucipbq], .bom-root-row[b-uco5ucipbq], .bom-tree-row[b-uco5ucipbq] { overflow-x: auto; min-width: 700px; }
    .bom-right[b-uco5ucipbq] { overflow-x: auto; }
}
@media (max-width: 768px) {
    .mgmt-page[b-uco5ucipbq] { padding: 12px 16px; }
    .mgmt-header[b-uco5ucipbq] { flex-direction: column; align-items: stretch; }
    .field-grid-3[b-uco5ucipbq] { grid-template-columns: 1fr; }
    .field-item.full-span-3[b-uco5ucipbq] { grid-column: span 1; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-uco5ucipbq] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-uco5ucipbq] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-uco5ucipbq] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-uco5ucipbq] { display: flex; gap: 8px; }
.btn-do-print[b-uco5ucipbq] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-uco5ucipbq] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-uco5ucipbq] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-uco5ucipbq] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-uco5ucipbq] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-uco5ucipbq] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-uco5ucipbq] { font-size: 12px; color: #666; }
.rpt-section[b-uco5ucipbq] { margin-bottom: 32px; }
.rpt-section-title[b-uco5ucipbq] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-uco5ucipbq] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-uco5ucipbq], .rpt-table th[b-uco5ucipbq] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-uco5ucipbq] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-uco5ucipbq] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-uco5ucipbq] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-uco5ucipbq] { background: #f8f8f8; }
.rpt-footer[b-uco5ucipbq] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-uco5ucipbq] { display: none !important; }
    .status-print-overlay[b-uco5ucipbq] { position: static; background: #fff; }
    .print-paper[b-uco5ucipbq] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Master/CustomerManagement.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-uq8a73kvs1] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-uq8a73kvs1] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-uq8a73kvs1 0.3s ease;
}
.toast-success[b-uq8a73kvs1] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-uq8a73kvs1]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-uq8a73kvs1 { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-uq8a73kvs1] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-uq8a73kvs1] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-uq8a73kvs1] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-uq8a73kvs1] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.search-input[b-uq8a73kvs1] {
    width: 210px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.filter-select[b-uq8a73kvs1] {
    width: 130px; font-size: 13px; padding: 7px 10px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.btn-add[b-uq8a73kvs1] {
    padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover[b-uq8a73kvs1] { opacity: 0.9; }
.btn-excel[b-uq8a73kvs1] {
    padding: 8px 14px; background: #217346; color: #fff;
    border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-excel:hover[b-uq8a73kvs1] { opacity: 0.9; }
.btn-print[b-uq8a73kvs1] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-uq8a73kvs1] { opacity: 0.9; }

/* ===== 요약 스트립 ===== */
.summary-strip[b-uq8a73kvs1] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-uq8a73kvs1] {
    flex: 1; min-width: 90px;
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 10px; padding: 12px 16px;
    display: flex; flex-direction: column; gap: 4px;
}
.strip-label[b-uq8a73kvs1] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.strip-value[b-uq8a73kvs1] { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.strip-active .strip-value[b-uq8a73kvs1]   { color: #2e7d32; }
.strip-inactive .strip-value[b-uq8a73kvs1] { color: #9e9e9e; }
.strip-vip .strip-value[b-uq8a73kvs1]      { color: #c62828; }
.strip-excellent .strip-value[b-uq8a73kvs1] { color: #e65100; }
.strip-normal .strip-value[b-uq8a73kvs1]   { color: #1565c0; }

/* ===== 테이블 ===== */
.mgmt-table-wrap[b-uq8a73kvs1] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-uq8a73kvs1] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-uq8a73kvs1] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-uq8a73kvs1] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-uq8a73kvs1] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.item-row:hover td[b-uq8a73kvs1] { background: var(--hover-bg); }

.customer-master-table th[b-uq8a73kvs1],
.customer-master-table td[b-uq8a73kvs1] { text-align: center; }
.customer-master-table .customer-name-cell[b-uq8a73kvs1] { text-align: left; }
.customer-master-table .action-btns[b-uq8a73kvs1] { justify-content: center; }

.code-text[b-uq8a73kvs1] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-uq8a73kvs1] { font-weight: 600; }
.remarks-badge[b-uq8a73kvs1] { margin-left: 4px; color: #1976d2; cursor: default; font-size: 12px; }

/* 사용여부 배지 */
.active-badge[b-uq8a73kvs1] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.active-on[b-uq8a73kvs1]  { background: #e8f5e9; color: #2e7d32; }
.active-off[b-uq8a73kvs1] { background: #f5f5f5; color: #9e9e9e; }

/* 액션 버튼 */
.action-btns[b-uq8a73kvs1] { display: flex; gap: 4px; }
.btn-action[b-uq8a73kvs1] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; transition: all 0.15s;
}
.btn-edit[b-uq8a73kvs1] { color: #1976d2; }
.btn-edit:hover[b-uq8a73kvs1] { background: #1976d2; color: #fff; border-color: #1976d2; }
.btn-warn[b-uq8a73kvs1] { color: #e65100; }
.btn-warn:hover[b-uq8a73kvs1] { background: #e65100; color: #fff; border-color: #e65100; }

/* 빈 상태 / 로딩 */
.empty-wrap[b-uq8a73kvs1], .loading-wrap[b-uq8a73kvs1] {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 60px 20px; color: var(--text-muted);
}
.empty-wrap i[b-uq8a73kvs1] { font-size: 40px; margin-bottom: 10px; }
.empty-wrap p[b-uq8a73kvs1] { font-size: 14px; margin: 0; }
.loading-wrap[b-uq8a73kvs1] { flex-direction: row; gap: 10px; }
.loading-spinner[b-uq8a73kvs1] {
    width: 20px; height: 20px; border: 3px solid var(--border-color);
    border-top-color: var(--accent); border-radius: 50%; animation: spin-b-uq8a73kvs1 0.8s linear infinite;
}
@keyframes spin-b-uq8a73kvs1 { to { transform: rotate(360deg); } }

/* ===== 모달 ===== */
.modal-overlay[b-uq8a73kvs1] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-uq8a73kvs1 0.2s;
}
.modal-panel[b-uq8a73kvs1] {
    background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw;
    max-height: 88vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-uq8a73kvs1 0.25s ease;
    color: var(--text-primary);
}
.modal-panel.customer-modal[b-uq8a73kvs1] { width: 1000px; max-width: 96vw; }
.modal-panel.modal-sm[b-uq8a73kvs1] { width: 440px; }
@keyframes fadeIn-b-uq8a73kvs1  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-uq8a73kvs1 { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-uq8a73kvs1] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-uq8a73kvs1] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-uq8a73kvs1] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-uq8a73kvs1] { color: var(--text-secondary); }

.modal-body-content[b-uq8a73kvs1] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.section-title[b-uq8a73kvs1] {
    font-size: 11.5px; font-weight: 700; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color-light);
    padding-bottom: 6px; margin-bottom: 12px;
}
.mt-16[b-uq8a73kvs1] { margin-top: 16px; }

.field-grid[b-uq8a73kvs1] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.contact-info-grid[b-uq8a73kvs1] { grid-template-columns: 1fr 1fr 1fr; }
.field-item[b-uq8a73kvs1] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span[b-uq8a73kvs1] { grid-column: span 2; }
.contact-info-grid .full-span[b-uq8a73kvs1] { grid-column: span 3; }
.field-item label[b-uq8a73kvs1] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-uq8a73kvs1] {
    font-size: 13px; padding: 7px 10px; border-radius: 6px;
    border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary);
}
.contact-table th[b-uq8a73kvs1],
.contact-table td[b-uq8a73kvs1] { text-align: center; }
.contact-table .form-control[b-uq8a73kvs1] { text-align: center; }
.contact-table input[type="checkbox"][b-uq8a73kvs1] { display: block; margin: 0 auto; }
.required[b-uq8a73kvs1] { color: #d32f2f; }
.project-textarea[b-uq8a73kvs1] { min-height: 60px; resize: vertical; font-size: 13px; font-family: inherit; }
.delete-confirm-text[b-uq8a73kvs1] { margin: 0; line-height: 1.8; font-size: 14px; }

.modal-foot[b-uq8a73kvs1] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-uq8a73kvs1] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover:not(:disabled)[b-uq8a73kvs1] { opacity: 0.9; }
.btn-modal-save:disabled[b-uq8a73kvs1] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-uq8a73kvs1] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-uq8a73kvs1] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-uq8a73kvs1] { background: var(--hover-bg); }

/* ===== 반응형 ===== */
@media (max-width: 1100px) {
    .mgmt-table-wrap[b-uq8a73kvs1] { overflow-x: auto; }
    .mgmt-table[b-uq8a73kvs1] { min-width: 1150px; }
}
@media (max-width: 768px) {
    .mgmt-page[b-uq8a73kvs1] { padding: 12px 16px; }
    .mgmt-header[b-uq8a73kvs1] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-uq8a73kvs1] { flex-direction: column; gap: 8px; }
    .search-input[b-uq8a73kvs1], .filter-select[b-uq8a73kvs1] { width: 100%; }
    .btn-add[b-uq8a73kvs1], .btn-excel[b-uq8a73kvs1], .btn-print[b-uq8a73kvs1] { width: 100%; justify-content: center; }
    .summary-strip[b-uq8a73kvs1] { gap: 8px; }
    .strip-card[b-uq8a73kvs1] { min-width: 80px; padding: 10px 12px; }
    .strip-value[b-uq8a73kvs1] { font-size: 18px; }
    .field-grid[b-uq8a73kvs1] { grid-template-columns: 1fr; }
    .contact-info-grid[b-uq8a73kvs1] { grid-template-columns: 1fr; }
    .field-item.full-span[b-uq8a73kvs1],
    .contact-info-grid .full-span[b-uq8a73kvs1] { grid-column: span 1; }
}
@media (max-width: 480px) {
    .mgmt-page[b-uq8a73kvs1] { padding: 8px 12px; }
    .modal-panel[b-uq8a73kvs1], .modal-panel.customer-modal[b-uq8a73kvs1], .modal-panel.modal-sm[b-uq8a73kvs1] {
        width: 95vw; max-width: none; border-radius: 12px; max-height: 95vh;
    }
    .modal-head[b-uq8a73kvs1] { padding: 12px 16px; }
    .modal-head h5[b-uq8a73kvs1] { font-size: 14px; }
    .modal-body-content[b-uq8a73kvs1] { padding: 12px 16px; }
    .modal-foot[b-uq8a73kvs1] { padding: 10px 16px; gap: 6px; }
    .btn-modal-save[b-uq8a73kvs1], .btn-modal-cancel[b-uq8a73kvs1] { padding: 8px 12px; font-size: 12px; flex: 1; }
}

/* ===== 주소 검색 ===== */
.address-search-row[b-uq8a73kvs1] { display: flex; gap: 6px; align-items: center; }
.address-search-row .addr-zip[b-uq8a73kvs1] { width: 110px; flex-shrink: 0; background: var(--bg-input, #f8f9fa); }
.btn-addr-search[b-uq8a73kvs1] { padding: 6px 14px; font-size: 12px; font-weight: 600; color: #fff; background: var(--primary, #4263eb); border: none; border-radius: 7px; cursor: pointer; display: inline-flex; align-items: center; white-space: nowrap; }
.btn-addr-search:hover[b-uq8a73kvs1] { background: var(--primary-hover, #3451c7); }
.mt-1[b-uq8a73kvs1] { margin-top: 4px; }

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-uq8a73kvs1] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-uq8a73kvs1] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-uq8a73kvs1] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-uq8a73kvs1] { display: flex; gap: 8px; }
.btn-do-print[b-uq8a73kvs1] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-uq8a73kvs1] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-uq8a73kvs1] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-uq8a73kvs1] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-uq8a73kvs1] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-uq8a73kvs1] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-uq8a73kvs1] { font-size: 12px; color: #666; }
.rpt-section[b-uq8a73kvs1] { margin-bottom: 32px; }
.rpt-section-title[b-uq8a73kvs1] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-uq8a73kvs1] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-uq8a73kvs1], .rpt-table th[b-uq8a73kvs1] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-uq8a73kvs1] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-uq8a73kvs1] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-uq8a73kvs1] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-uq8a73kvs1] { background: #f8f8f8; }
.rpt-footer[b-uq8a73kvs1] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-uq8a73kvs1] { display: none !important; }
    .status-print-overlay[b-uq8a73kvs1] { position: static; background: #fff; }
    .print-paper[b-uq8a73kvs1] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Master/ItemManagement.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-gobakxnc6n] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-gobakxnc6n] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-gobakxnc6n 0.3s ease;
}
.toast-success[b-gobakxnc6n] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-gobakxnc6n]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-gobakxnc6n { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-gobakxnc6n] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-gobakxnc6n] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-gobakxnc6n] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-gobakxnc6n] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.search-input[b-gobakxnc6n] {
    width: 210px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.filter-select[b-gobakxnc6n] {
    width: 130px; font-size: 13px; padding: 7px 10px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.btn-add[b-gobakxnc6n] {
    padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover[b-gobakxnc6n] { opacity: 0.9; }
.btn-excel[b-gobakxnc6n] {
    padding: 8px 14px; background: #217346; color: #fff;
    border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-excel:hover[b-gobakxnc6n] { opacity: 0.9; }
.btn-print[b-gobakxnc6n] {
    padding: 8px 14px; background: #1565c0; color: #fff;
    border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-print:hover[b-gobakxnc6n] { opacity: 0.9; }

/* ===== 요약 스트립 ===== */
.summary-strip[b-gobakxnc6n] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-gobakxnc6n] {
    flex: 1; min-width: 90px;
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 10px; padding: 12px 16px;
    display: flex; flex-direction: column; gap: 4px;
}
.strip-label[b-gobakxnc6n] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.strip-value[b-gobakxnc6n] { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.strip-active .strip-value[b-gobakxnc6n]  { color: #2e7d32; }
.strip-inactive .strip-value[b-gobakxnc6n] { color: #9e9e9e; }
.strip-product .strip-value[b-gobakxnc6n]  { color: #1565c0; }
.strip-material .strip-value[b-gobakxnc6n] { color: #e65100; }
.strip-service .strip-value[b-gobakxnc6n]  { color: #6a1b9a; }

/* ===== 테이블 ===== */
.mgmt-table-wrap[b-gobakxnc6n] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-gobakxnc6n] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-gobakxnc6n] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-gobakxnc6n] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-gobakxnc6n] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.item-row:hover td[b-gobakxnc6n] { background: var(--hover-bg); }

.item-master-table th[b-gobakxnc6n],
.item-master-table td[b-gobakxnc6n] { text-align: center; }
.item-master-table .item-name-cell[b-gobakxnc6n],
.item-master-table .spec-cell[b-gobakxnc6n] { text-align: left; }
.item-master-table .action-btns[b-gobakxnc6n] { justify-content: center; }

.code-text[b-gobakxnc6n] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-gobakxnc6n] { font-weight: 600; }
.price-cell[b-gobakxnc6n] { font-family: monospace; font-size: 12.5px; }
.safety-stock-cell[b-gobakxnc6n] { font-family: monospace; font-size: 12.5px; color: var(--text-muted); }
.small-text[b-gobakxnc6n] { font-size: 12px; }
.remarks-badge[b-gobakxnc6n] { margin-left: 4px; color: #1976d2; cursor: default; font-size: 12px; }

/* 유형 배지 */
.type-badge[b-gobakxnc6n] {
    display: inline-block; padding: 3px 10px; border-radius: 20px;
    font-size: 11px; font-weight: 600; white-space: nowrap;
}
.type-product[b-gobakxnc6n]    { background: #e3f2fd; color: #1565c0; }
.type-semi[b-gobakxnc6n]       { background: #f3e5f5; color: #6a1b9a; }
.type-material[b-gobakxnc6n]   { background: #fff3e0; color: #e65100; }
.type-consumable[b-gobakxnc6n] { background: #fce4ec; color: #c62828; }
.type-service[b-gobakxnc6n]    { background: #e8f5e9; color: #2e7d32; }
.type-default[b-gobakxnc6n]    { background: var(--bg-main); color: var(--text-muted); }

/* 사용여부 배지 */
.active-badge[b-gobakxnc6n] {
    display: inline-block; padding: 3px 10px; border-radius: 20px;
    font-size: 11px; font-weight: 600; white-space: nowrap;
}
.active-on[b-gobakxnc6n]  { background: #e8f5e9; color: #2e7d32; }
.active-off[b-gobakxnc6n] { background: #f5f5f5; color: #9e9e9e; }

/* 액션 버튼 */
.action-btns[b-gobakxnc6n] { display: flex; gap: 4px; }
.btn-action[b-gobakxnc6n] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; transition: all 0.15s;
}
.btn-edit[b-gobakxnc6n]  { color: #1976d2; }
.btn-edit:hover[b-gobakxnc6n]  { background: #1976d2; color: #fff; border-color: #1976d2; }
.btn-warn[b-gobakxnc6n]  { color: #e65100; }
.btn-warn:hover[b-gobakxnc6n]  { background: #e65100; color: #fff; border-color: #e65100; }

/* 빈 상태 / 로딩 */
.empty-wrap[b-gobakxnc6n], .loading-wrap[b-gobakxnc6n] {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 60px 20px; color: var(--text-muted);
}
.empty-wrap i[b-gobakxnc6n] { font-size: 40px; margin-bottom: 10px; }
.empty-wrap p[b-gobakxnc6n] { font-size: 14px; margin: 0; }
.loading-wrap[b-gobakxnc6n] { flex-direction: row; gap: 10px; }
.loading-spinner[b-gobakxnc6n] {
    width: 20px; height: 20px; border: 3px solid var(--border-color);
    border-top-color: var(--accent); border-radius: 50%; animation: spin-b-gobakxnc6n 0.8s linear infinite;
}
@keyframes spin-b-gobakxnc6n { to { transform: rotate(360deg); } }

/* ===== 모달 ===== */
.modal-overlay[b-gobakxnc6n] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-gobakxnc6n 0.2s;
}
.modal-panel[b-gobakxnc6n] {
    background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw;
    max-height: 85vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-gobakxnc6n 0.25s ease;
    color: var(--text-primary);
}
.modal-panel.item-modal[b-gobakxnc6n] { width: 680px; }
.modal-panel.modal-sm[b-gobakxnc6n]   { width: 440px; }
@keyframes fadeIn-b-gobakxnc6n  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-gobakxnc6n { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-gobakxnc6n] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-gobakxnc6n] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-gobakxnc6n] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-gobakxnc6n] { color: var(--text-secondary); }

.modal-body-content[b-gobakxnc6n] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.field-grid[b-gobakxnc6n] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.field-item[b-gobakxnc6n] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span[b-gobakxnc6n] { grid-column: span 2; }
.field-item label[b-gobakxnc6n] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-gobakxnc6n] {
    font-size: 13px; padding: 7px 10px; border-radius: 6px;
    border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary);
}
.required[b-gobakxnc6n] { color: #d32f2f; }
.project-textarea[b-gobakxnc6n] { min-height: 60px; resize: vertical; font-size: 13px; font-family: inherit; }
.delete-confirm-text[b-gobakxnc6n] { margin: 0; line-height: 1.8; font-size: 14px; }

.modal-foot[b-gobakxnc6n] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-gobakxnc6n] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover:not(:disabled)[b-gobakxnc6n] { opacity: 0.9; }
.btn-modal-save:disabled[b-gobakxnc6n] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-gobakxnc6n] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-gobakxnc6n] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-gobakxnc6n] { background: var(--hover-bg); }

/* ===== 체크박스 ===== */
.th-check[b-gobakxnc6n], .td-check[b-gobakxnc6n] { width: 40px; text-align: center; padding: 10px 8px !important; }
.row-checked td[b-gobakxnc6n] { background: rgba(102,126,234,0.06) !important; }
.btn-delete-multi[b-gobakxnc6n] {
    padding: 8px 14px; background: #ef4444; color: #fff;
    border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-delete-multi:hover[b-gobakxnc6n] { background: #dc2626; }

/* ===== BOM 뱃지 ===== */
.bom-badge[b-gobakxnc6n] {
    display: inline-block; padding: 2px 8px; border-radius: 4px;
    background: #e0e7ff; color: #4338ca; font-size: 10.5px; font-weight: 700;
    border: none; cursor: pointer; letter-spacing: 0.3px;
    transition: background 0.15s;
}
.bom-badge:hover[b-gobakxnc6n] { background: #4338ca; color: #fff; }

/* ===== 납기/폐기일 초과 ===== */
.td-overdue[b-gobakxnc6n] { color: #dc2626 !important; font-weight: 600; }

/* ===== C/T셀 ===== */
.leadtime-cell[b-gobakxnc6n] { font-family: monospace; font-size: 12.5px; color: var(--text-secondary); }

/* ===== 반응형 ===== */
@media (max-width: 1100px) {
    .mgmt-table-wrap[b-gobakxnc6n] { overflow-x: auto; }
    .mgmt-table[b-gobakxnc6n] { min-width: 1050px; }
}
@media (max-width: 768px) {
    .mgmt-page[b-gobakxnc6n] { padding: 12px 16px; }
    .mgmt-header[b-gobakxnc6n] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-gobakxnc6n] { flex-direction: column; gap: 8px; }
    .search-input[b-gobakxnc6n], .filter-select[b-gobakxnc6n] { width: 100%; }
    .btn-add[b-gobakxnc6n], .btn-excel[b-gobakxnc6n], .btn-print[b-gobakxnc6n] { width: 100%; justify-content: center; }
    .summary-strip[b-gobakxnc6n] { gap: 8px; }
    .strip-card[b-gobakxnc6n] { min-width: 80px; padding: 10px 12px; }
    .strip-value[b-gobakxnc6n] { font-size: 18px; }
    .field-grid[b-gobakxnc6n] { grid-template-columns: 1fr; }
    .field-item.full-span[b-gobakxnc6n] { grid-column: span 1; }
}
@media (max-width: 480px) {
    .mgmt-page[b-gobakxnc6n] { padding: 8px 12px; }
    .modal-panel[b-gobakxnc6n], .modal-panel.item-modal[b-gobakxnc6n], .modal-panel.modal-sm[b-gobakxnc6n] {
        width: 95vw; max-width: none; border-radius: 12px; max-height: 95vh;
    }
    .modal-head[b-gobakxnc6n] { padding: 12px 16px; }
    .modal-head h5[b-gobakxnc6n] { font-size: 14px; }
    .modal-body-content[b-gobakxnc6n] { padding: 12px 16px; }
    .modal-foot[b-gobakxnc6n] { padding: 10px 16px; gap: 6px; }
    .btn-modal-save[b-gobakxnc6n], .btn-modal-cancel[b-gobakxnc6n] { padding: 8px 12px; font-size: 12px; flex: 1; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-gobakxnc6n] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-gobakxnc6n] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-gobakxnc6n] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-gobakxnc6n] { display: flex; gap: 8px; }
.btn-do-print[b-gobakxnc6n] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-gobakxnc6n] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-gobakxnc6n] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-gobakxnc6n] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-gobakxnc6n] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-gobakxnc6n] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-gobakxnc6n] { font-size: 12px; color: #666; }
.rpt-section[b-gobakxnc6n] { margin-bottom: 32px; }
.rpt-section-title[b-gobakxnc6n] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-gobakxnc6n] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-gobakxnc6n], .rpt-table th[b-gobakxnc6n] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-gobakxnc6n] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-gobakxnc6n] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-gobakxnc6n] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-gobakxnc6n] { background: #f8f8f8; }
.rpt-footer[b-gobakxnc6n] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-gobakxnc6n] { display: none !important; }
    .status-print-overlay[b-gobakxnc6n] { position: static; background: #fff; }
    .print-paper[b-gobakxnc6n] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Master/VendorManagement.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-42j63v7b94] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-42j63v7b94] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-42j63v7b94 0.3s ease;
}
.toast-success[b-42j63v7b94] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-42j63v7b94]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-42j63v7b94 { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-42j63v7b94] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-42j63v7b94] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-42j63v7b94] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-42j63v7b94] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.search-input[b-42j63v7b94] {
    width: 210px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.filter-select[b-42j63v7b94] {
    width: 130px; font-size: 13px; padding: 7px 10px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.btn-add[b-42j63v7b94] {
    padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover[b-42j63v7b94] { opacity: 0.9; }
.btn-excel[b-42j63v7b94] {
    padding: 8px 14px; background: #217346; color: #fff;
    border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-excel:hover[b-42j63v7b94] { opacity: 0.9; }
.btn-print[b-42j63v7b94] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-42j63v7b94] { opacity: 0.9; }

/* ===== 요약 스트립 ===== */
.summary-strip[b-42j63v7b94] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-42j63v7b94] {
    flex: 1; min-width: 90px;
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 10px; padding: 12px 16px;
    display: flex; flex-direction: column; gap: 4px;
}
.strip-label[b-42j63v7b94] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.strip-value[b-42j63v7b94] { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.strip-active .strip-value[b-42j63v7b94]   { color: #2e7d32; }
.strip-inactive .strip-value[b-42j63v7b94] { color: #9e9e9e; }
.strip-partner .strip-value[b-42j63v7b94]  { color: #1565c0; }
.strip-excellent .strip-value[b-42j63v7b94] { color: #e65100; }
.strip-normal .strip-value[b-42j63v7b94]   { color: #6a1b9a; }

/* ===== 테이블 ===== */
.mgmt-table-wrap[b-42j63v7b94] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-42j63v7b94] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-42j63v7b94] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-42j63v7b94] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-42j63v7b94] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.item-row:hover td[b-42j63v7b94] { background: var(--hover-bg); }

.vendor-master-table th[b-42j63v7b94],
.vendor-master-table td[b-42j63v7b94] { text-align: center; }
.vendor-master-table .vendor-name-cell[b-42j63v7b94] { text-align: left; }
.vendor-master-table .action-btns[b-42j63v7b94] { justify-content: center; }

.code-text[b-42j63v7b94] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-42j63v7b94] { font-weight: 600; }
.remarks-badge[b-42j63v7b94] { margin-left: 4px; color: #1976d2; cursor: default; font-size: 12px; }

/* 유형 배지 */
.type-badge[b-42j63v7b94] {
    display: inline-block; padding: 3px 10px; border-radius: 20px;
    font-size: 11px; font-weight: 600; white-space: nowrap;
}
.type-partner[b-42j63v7b94]   { background: #e3f2fd; color: #1565c0; }
.type-excellent[b-42j63v7b94] { background: #fff3e0; color: #e65100; }
.type-normal[b-42j63v7b94]    { background: #f3e5f5; color: #6a1b9a; }
.type-default[b-42j63v7b94]   { background: var(--bg-main); color: var(--text-muted); }

/* 사용여부 배지 */
.active-badge[b-42j63v7b94] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.active-on[b-42j63v7b94]  { background: #e8f5e9; color: #2e7d32; }
.active-off[b-42j63v7b94] { background: #f5f5f5; color: #9e9e9e; }

/* 액션 버튼 */
.action-btns[b-42j63v7b94] { display: flex; gap: 4px; }
.btn-action[b-42j63v7b94] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; transition: all 0.15s;
}
.btn-edit[b-42j63v7b94] { color: #1976d2; }
.btn-edit:hover[b-42j63v7b94] { background: #1976d2; color: #fff; border-color: #1976d2; }
.btn-warn[b-42j63v7b94] { color: #e65100; }
.btn-warn:hover[b-42j63v7b94] { background: #e65100; color: #fff; border-color: #e65100; }

/* 빈 상태 / 로딩 */
.empty-wrap[b-42j63v7b94], .loading-wrap[b-42j63v7b94] {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; padding: 60px 20px; color: var(--text-muted);
}
.empty-wrap i[b-42j63v7b94] { font-size: 40px; margin-bottom: 10px; }
.empty-wrap p[b-42j63v7b94] { font-size: 14px; margin: 0; }
.loading-wrap[b-42j63v7b94] { flex-direction: row; gap: 10px; }
.loading-spinner[b-42j63v7b94] {
    width: 20px; height: 20px; border: 3px solid var(--border-color);
    border-top-color: var(--accent); border-radius: 50%; animation: spin-b-42j63v7b94 0.8s linear infinite;
}
@keyframes spin-b-42j63v7b94 { to { transform: rotate(360deg); } }

/* ===== 모달 ===== */
.modal-overlay[b-42j63v7b94] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-42j63v7b94 0.2s;
}
.modal-panel[b-42j63v7b94] {
    background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw;
    max-height: 88vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-42j63v7b94 0.25s ease;
    color: var(--text-primary);
}
.modal-panel.vendor-modal[b-42j63v7b94] { width: 1000px; max-width: 96vw; }
.modal-panel.modal-sm[b-42j63v7b94] { width: 440px; }
@keyframes fadeIn-b-42j63v7b94  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-42j63v7b94 { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-42j63v7b94] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-42j63v7b94] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-42j63v7b94] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-42j63v7b94] { color: var(--text-secondary); }

.modal-body-content[b-42j63v7b94] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.section-title[b-42j63v7b94] {
    font-size: 11.5px; font-weight: 700; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color-light);
    padding-bottom: 6px; margin-bottom: 12px;
}
.mt-16[b-42j63v7b94] { margin-top: 16px; }

.field-grid[b-42j63v7b94] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.contact-info-grid[b-42j63v7b94] { grid-template-columns: 1fr 1fr 1fr; }
.contact-info-grid .field-item.full-span[b-42j63v7b94] { grid-column: span 3; }
.field-item[b-42j63v7b94] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span[b-42j63v7b94] { grid-column: span 2; }
.field-item label[b-42j63v7b94] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-42j63v7b94] {
    font-size: 13px; padding: 7px 10px; border-radius: 6px;
    border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary);
}
.contact-table th[b-42j63v7b94],
.contact-table td[b-42j63v7b94] { text-align: center; }
.contact-table .form-control[b-42j63v7b94] { text-align: center; }
.contact-table input[type="checkbox"][b-42j63v7b94] { display: block; margin: 0 auto; }
.required[b-42j63v7b94] { color: #d32f2f; }
.project-textarea[b-42j63v7b94] { min-height: 60px; resize: vertical; font-size: 13px; font-family: inherit; }
.delete-confirm-text[b-42j63v7b94] { margin: 0; line-height: 1.8; font-size: 14px; }

.modal-foot[b-42j63v7b94] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-42j63v7b94] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover:not(:disabled)[b-42j63v7b94] { opacity: 0.9; }
.btn-modal-save:disabled[b-42j63v7b94] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-42j63v7b94] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-42j63v7b94] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-42j63v7b94] { background: var(--hover-bg); }

/* ===== 반응형 ===== */
@media (max-width: 1100px) {
    .mgmt-table-wrap[b-42j63v7b94] { overflow-x: auto; }
    .mgmt-table[b-42j63v7b94] { min-width: 1150px; }
}
@media (max-width: 768px) {
    .mgmt-page[b-42j63v7b94] { padding: 12px 16px; }
    .mgmt-header[b-42j63v7b94] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-42j63v7b94] { flex-direction: column; gap: 8px; }
    .search-input[b-42j63v7b94], .filter-select[b-42j63v7b94] { width: 100%; }
    .btn-add[b-42j63v7b94], .btn-excel[b-42j63v7b94], .btn-print[b-42j63v7b94] { width: 100%; justify-content: center; }
    .summary-strip[b-42j63v7b94] { gap: 8px; }
    .strip-card[b-42j63v7b94] { min-width: 80px; padding: 10px 12px; }
    .strip-value[b-42j63v7b94] { font-size: 18px; }
    .field-grid[b-42j63v7b94] { grid-template-columns: 1fr; }
    .contact-info-grid[b-42j63v7b94] { grid-template-columns: 1fr; }
    .field-item.full-span[b-42j63v7b94] { grid-column: span 1; }
    .contact-info-grid .field-item.full-span[b-42j63v7b94] { grid-column: span 1; }
}
@media (max-width: 480px) {
    .mgmt-page[b-42j63v7b94] { padding: 8px 12px; }
    .modal-panel[b-42j63v7b94], .modal-panel.vendor-modal[b-42j63v7b94], .modal-panel.modal-sm[b-42j63v7b94] {
        width: 95vw; max-width: none; border-radius: 12px; max-height: 95vh;
    }
    .modal-head[b-42j63v7b94] { padding: 12px 16px; }
    .modal-head h5[b-42j63v7b94] { font-size: 14px; }
    .modal-body-content[b-42j63v7b94] { padding: 12px 16px; }
    .modal-foot[b-42j63v7b94] { padding: 10px 16px; gap: 6px; }
    .btn-modal-save[b-42j63v7b94], .btn-modal-cancel[b-42j63v7b94] { padding: 8px 12px; font-size: 12px; flex: 1; }
}

/* ===== 주소 검색 ===== */
.address-search-row[b-42j63v7b94] { display: flex; gap: 6px; align-items: center; }
.address-search-row .addr-zip[b-42j63v7b94] { width: 110px; flex-shrink: 0; background: var(--bg-input, #f8f9fa); }
.btn-addr-search[b-42j63v7b94] { padding: 6px 14px; font-size: 12px; font-weight: 600; color: #fff; background: var(--primary, #4263eb); border: none; border-radius: 7px; cursor: pointer; display: inline-flex; align-items: center; white-space: nowrap; }
.btn-addr-search:hover[b-42j63v7b94] { background: var(--primary-hover, #3451c7); }
.mt-1[b-42j63v7b94] { margin-top: 4px; }

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-42j63v7b94] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-42j63v7b94] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-42j63v7b94] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-42j63v7b94] { display: flex; gap: 8px; }
.btn-do-print[b-42j63v7b94] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-42j63v7b94] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-42j63v7b94] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-42j63v7b94] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-42j63v7b94] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-42j63v7b94] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-42j63v7b94] { font-size: 12px; color: #666; }
.rpt-section[b-42j63v7b94] { margin-bottom: 32px; }
.rpt-section-title[b-42j63v7b94] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-42j63v7b94] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-42j63v7b94], .rpt-table th[b-42j63v7b94] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-42j63v7b94] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-42j63v7b94] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-42j63v7b94] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-42j63v7b94] { background: #f8f8f8; }
.rpt-footer[b-42j63v7b94] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@@media print {
    .no-print[b-42j63v7b94] { display: none !important; }
    .status-print-overlay[b-42j63v7b94] { position: static; background: #fff; }
    .print-paper[b-42j63v7b94] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Messaging/ChatWindow.razor.rz.scp.css */
/* 채팅 윈도우 컨테이너 */
.chat-window-container[b-91n741qkkm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg-main);
    overflow: hidden;
}

/* 비어있는 상태 */
.chat-empty-state[b-91n741qkkm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    gap: 16px;
    padding: 40px 20px;
    text-align: center;
}

.chat-empty-state i[b-91n741qkkm] {
    font-size: 3.5rem;
    opacity: 0.4;
}

.chat-empty-state h5[b-91n741qkkm] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 1.1rem;
}

.chat-empty-state p[b-91n741qkkm] {
    margin: 0;
    font-size: 0.95rem;
}

/* 채팅 헤더 */
.chat-header[b-91n741qkkm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-surface);
    flex-shrink: 0;
    gap: 12px;
}

.chat-header-info[b-91n741qkkm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.chat-title[b-91n741qkkm] {
    margin: 0;
    font-weight: 700;
    color: var(--text-primary);
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-subtitle[b-91n741qkkm] {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.btn-close-chat[b-91n741qkkm] {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.btn-close-chat:hover[b-91n741qkkm] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

/* 메시지 영역 */
.chat-messages[b-91n741qkkm] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 0; /* flex 아이템이 min-height 0을 유지하도록 */
}

.messages-loading[b-91n741qkkm],
.messages-empty[b-91n741qkkm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: var(--text-muted);
    text-align: center;
    gap: 12px;
    flex: 1;
}

.messages-loading i[b-91n741qkkm],
.messages-empty i[b-91n741qkkm] {
    font-size: 2.5rem;
    opacity: 0.4;
}

/* 메시지 입력 영역 */
.chat-input-area[b-91n741qkkm] {
    display: flex;
    flex-direction: column;
    padding: 12px 16px;
    background: var(--bg-surface);
    border-top: 1px solid var(--border-color);
    gap: 8px;
    flex-shrink: 0;
}

.input-controls[b-91n741qkkm] {
    display: flex;
    gap: 8px;
    align-items: flex-end;
}

.btn-attach[b-91n741qkkm] {
    width: 36px;
    height: 36px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-main);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.btn-attach:hover:not(:disabled)[b-91n741qkkm] {
    background: var(--accent-soft);
    color: var(--accent);
    border-color: var(--accent);
}

.btn-attach:disabled[b-91n741qkkm] {
    opacity: 0.5;
    cursor: not-allowed;
}

.message-input[b-91n741qkkm] {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-input);
    color: var(--text-primary);
    font-size: 0.92rem;
    font-family: inherit;
    resize: none;
    max-height: 100px;
    transition: border-color 0.2s ease;
}

.message-input:focus[b-91n741qkkm] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-soft);
}

.message-input[b-91n741qkkm]::placeholder {
    color: var(--text-muted);
}

.message-input:disabled[b-91n741qkkm] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-send[b-91n741qkkm] {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: var(--accent);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.btn-send:hover:not(:disabled)[b-91n741qkkm] {
    background: var(--accent);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
    transform: translateY(-2px);
}

.btn-send:disabled[b-91n741qkkm] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 파일 미리보기 */
.file-preview[b-91n741qkkm] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
}

.preview-item[b-91n741qkkm] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: var(--bg-main);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.btn-remove[b-91n741qkkm] {
    width: 20px;
    height: 20px;
    border: none;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0;
}

.btn-remove:hover[b-91n741qkkm] {
    color: #dc2626;
}

/* 스크롤바 */
.chat-messages[b-91n741qkkm]::-webkit-scrollbar {
    width: 6px;
}

.chat-messages[b-91n741qkkm]::-webkit-scrollbar-track {
    background: transparent;
}

.chat-messages[b-91n741qkkm]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 3px;
}

.chat-messages[b-91n741qkkm]::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* 반응형 - 태블릿 */
@media (max-width: 1024px) {
    .chat-header[b-91n741qkkm] {
        padding: 10px 12px;
    }

    .chat-title[b-91n741qkkm] {
        font-size: 0.9rem;
    }

    .chat-subtitle[b-91n741qkkm] {
        font-size: 0.75rem;
    }

    .chat-messages[b-91n741qkkm] {
        padding: 12px;
        gap: 10px;
    }

    .chat-input-area[b-91n741qkkm] {
        padding: 10px 12px;
        gap: 6px;
    }

    .message-input[b-91n741qkkm] {
        font-size: 0.9rem;
    }
}

/* 반응형 - 모바일 */
@media (max-width: 768px) {
    .chat-window-container[b-91n741qkkm] {
        height: 100%;
    }

    .chat-header[b-91n741qkkm] {
        padding: 10px;
    }

    .chat-title[b-91n741qkkm] {
        font-size: 0.9rem;
    }

    .chat-subtitle[b-91n741qkkm] {
        font-size: 0.75rem;
    }

    .btn-close-chat[b-91n741qkkm] {
        width: 28px;
        height: 28px;
    }

    .chat-messages[b-91n741qkkm] {
        padding: 12px 8px;
        gap: 10px;
    }

    .chat-input-area[b-91n741qkkm] {
        padding: 8px 10px;
        gap: 6px;
    }

    .input-controls[b-91n741qkkm] {
        gap: 6px;
    }

    .btn-attach[b-91n741qkkm],
    .btn-send[b-91n741qkkm] {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
    }

    .message-input[b-91n741qkkm] {
        font-size: 0.9rem;
        padding: 6px 10px;
    }

    .preview-item[b-91n741qkkm] {
        font-size: 0.8rem;
        padding: 4px 8px;
    }

    .btn-remove[b-91n741qkkm] {
        width: 18px;
        height: 18px;
    }
}

/* 다크 모드 조정 */
[data-theme="dark"] .message-input[b-91n741qkkm] {
    background: var(--bg-input);
    color: var(--text-primary);
}

[data-theme="dark"] .message-input:focus[b-91n741qkkm] {
    box-shadow: 0 0 0 3px var(--accent-soft);
}

[data-theme="dark"] .btn-send:hover:not(:disabled)[b-91n741qkkm] {
    box-shadow: 0 4px 12px rgba(129, 140, 248, 0.3);
}
/* /Components/Pages/Messaging/ChatWindowModal.razor.rz.scp.css */
/* 모달 오버레이 */
.chat-modal-overlay[b-qp49byiere] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99;
    animation: fadeIn-b-qp49byiere 0.2s ease;
}

/* 모달 컨테이너 */
.chat-modal-container[b-qp49byiere] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 800px;
    height: 90vh;
    max-height: 700px;
    background: var(--bg-surface);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    z-index: 100;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: slideUp-b-qp49byiere 0.3s ease;
}

/* 모달 헤더 */
.chat-modal-header[b-qp49byiere] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-surface);
    flex-shrink: 0;
}

.chat-modal-title[b-qp49byiere] {
    flex: 1;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.chat-modal-title h3[b-qp49byiere] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
}

.chat-modal-subtitle[b-qp49byiere] {
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.typing-indicator[b-qp49byiere] {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 18px;
    padding: 0 4px;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.typing-dots[b-qp49byiere] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.typing-dots i[b-qp49byiere] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--accent);
    animation: typingBounce-b-qp49byiere 1.2s infinite ease-in-out;
}

.typing-dots i:nth-child(2)[b-qp49byiere] { animation-delay: 0.15s; }
.typing-dots i:nth-child(3)[b-qp49byiere] { animation-delay: 0.3s; }

@keyframes typingBounce-b-qp49byiere {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.45; }
    30% { transform: translateY(-3px); opacity: 1; }
}

/* 헤더 액션 버튼 그룹 */
.chat-modal-actions[b-qp49byiere] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

/* 초대 버튼 */
.btn-invite[b-qp49byiere] {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: all 0.2s ease;
    padding: 0;
}

.btn-invite:hover[b-qp49byiere] {
    background: var(--hover-bg);
    color: var(--accent);
}

.btn-invite.active[b-qp49byiere] {
    background: var(--accent-soft);
    color: var(--accent);
}

/* 나가기 버튼 */
.btn-leave-chat[b-qp49byiere] {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: all 0.2s ease;
    padding: 0;
}

.btn-leave-chat:hover[b-qp49byiere] {
    background: #fef2f2;
    color: #dc2626;
}

.btn-leave-chat.active[b-qp49byiere] {
    background: #fef2f2;
    color: #dc2626;
}

/* 나가기 확인 배너 */
.leave-confirm-banner[b-qp49byiere] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #fff8f8;
    border-bottom: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 13px;
    font-weight: 500;
    flex-wrap: wrap;
}

.leave-confirm-banner i[b-qp49byiere] {
    font-size: 15px;
    flex-shrink: 0;
}

.leave-confirm-banner span[b-qp49byiere] {
    flex: 1;
    min-width: 0;
}

.leave-confirm-btns[b-qp49byiere] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.btn-leave-confirm[b-qp49byiere] {
    padding: 4px 12px;
    background: #dc2626;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-leave-confirm:hover[b-qp49byiere] { background: #b91c1c; }

.btn-leave-cancel[b-qp49byiere] {
    padding: 4px 12px;
    background: transparent;
    color: #b91c1c;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-leave-cancel:hover[b-qp49byiere] { background: #fef2f2; }

/* ── 초대 패널 ── */
.invite-panel[b-qp49byiere] {
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-main);
    display: flex;
    flex-direction: column;
    max-height: 320px;
    flex-shrink: 0;
    overflow: hidden;
    animation: slideDown-b-qp49byiere 0.2s ease;
}

@keyframes slideDown-b-qp49byiere {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.invite-panel-header[b-qp49byiere] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.invite-selected-count[b-qp49byiere] {
    font-size: 0.8rem;
    color: var(--accent);
    font-weight: 600;
}

.invite-search[b-qp49byiere] {
    padding: 8px 12px;
    flex-shrink: 0;
}

.invite-search .form-control[b-qp49byiere] {
    font-size: 0.85rem;
    padding: 5px 10px;
    border-radius: 6px;
}

.invite-section-label[b-qp49byiere] {
    padding: 4px 14px 2px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

/* 현재 멤버 칩 */
.invite-member-chips[b-qp49byiere] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 4px 12px 8px;
    flex-shrink: 0;
}

.member-chip[b-qp49byiere] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    font-size: 0.78rem;
    color: var(--text-secondary);
}

.member-chip i[b-qp49byiere] { font-size: 0.7rem; }

/* 초대 가능 사용자 목록 */
.invite-user-list[b-qp49byiere] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.invite-user-item[b-qp49byiere] {
    display: flex;
    align-items: center;
    padding: 8px 14px;
    cursor: pointer;
    transition: background-color 0.15s;
    gap: 10px;
    border-bottom: 1px solid var(--border-color);
}

.invite-user-item:last-child[b-qp49byiere] { border-bottom: none; }

.invite-user-item:hover[b-qp49byiere] {
    background: var(--hover-bg);
}

.invite-user-item.selected[b-qp49byiere] {
    background: var(--accent-soft);
}

.invite-user-avatar i[b-qp49byiere] {
    font-size: 1.8rem;
    color: var(--text-secondary);
}

.invite-user-info[b-qp49byiere] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.invite-user-name[b-qp49byiere] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text-primary);
}

.invite-user-sub[b-qp49byiere] {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.invite-check[b-qp49byiere] { font-size: 1.1rem; }

.invite-loading[b-qp49byiere],
.invite-empty[b-qp49byiere] {
    padding: 16px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* 초대 푸터 */
.invite-footer[b-qp49byiere] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 8px 12px;
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
    background: var(--bg-surface);
}

.invite-result[b-qp49byiere] {
    font-size: 0.82rem;
    font-weight: 500;
}

.btn-do-invite[b-qp49byiere] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    border: none;
    border-radius: 6px;
    background: var(--accent);
    color: white;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-do-invite:hover:not(:disabled)[b-qp49byiere] {
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
    transform: translateY(-1px);
}

.btn-do-invite:disabled[b-qp49byiere] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.btn-modal-close[b-qp49byiere] {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all 0.2s ease;
    padding: 0;
}

.btn-modal-close:hover[b-qp49byiere] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

/* 메시지 영역 */
.chat-modal-messages[b-qp49byiere] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 0;
    background: var(--bg-main);
}

.messages-empty[b-qp49byiere] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-muted);
    gap: 12px;
    padding: 20px;
    text-align: center;
}

.messages-empty i[b-qp49byiere] {
    font-size: 2.5rem;
    opacity: 0.4;
}

/* 입력 영역 래퍼 */
.chat-modal-input-area[b-qp49byiere] {
    padding: 10px 12px 12px;
    background: var(--bg-surface);
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
    position: relative;
}

/* 드래그 오버 시 오버레이 */
.drop-overlay[b-qp49byiere] {
    display: none;
    position: absolute;
    inset: 0;
    background: rgba(102, 126, 234, 0.1);
    border: 2px dashed var(--accent);
    border-radius: 10px;
    z-index: 10;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--accent);
    font-weight: 600;
    font-size: 15px;
    pointer-events: none;
}

.chat-modal-input-area.drag-over .drop-overlay[b-qp49byiere] { display: flex; }
.drop-overlay i[b-qp49byiere] { font-size: 24px; }

/* ── 카드형 입력 컨테이너 ── */
.chat-input-card[b-qp49byiere] {
    border: 1.5px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-input);
    transition: border-color 0.2s, box-shadow 0.2s;
    overflow: hidden;
}

.chat-input-card:focus-within[b-qp49byiere] {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-soft);
}

/* 파일 첨부 미리보기 */
.file-preview[b-qp49byiere] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 12px 0;
}

.chat-file-error[b-qp49byiere] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px 0;
    color: #b91c1c;
    font-size: 0.78rem;
    line-height: 1.35;
}

.chat-file-error i[b-qp49byiere] {
    flex-shrink: 0;
}

.preview-item[b-qp49byiere] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 6px 4px 10px;
    background: var(--accent-soft);
    border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
    border-radius: 20px;
    font-size: 0.78rem;
    color: var(--accent);
    max-width: 200px;
}

.preview-item i[b-qp49byiere] { font-size: 0.85rem; flex-shrink: 0; }

.preview-name[b-qp49byiere] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

.preview-size[b-qp49byiere] {
    color: var(--text-muted);
    font-size: 0.72rem;
    flex-shrink: 0;
}

.btn-remove[b-qp49byiere] {
    width: 16px;
    height: 16px;
    border: none;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    flex-shrink: 0;
    padding: 0;
    font-size: 0.9rem;
    border-radius: 50%;
}

.btn-remove:hover[b-qp49byiere] {
    opacity: 1;
    background: rgba(220, 38, 38, 0.12);
    color: #dc2626;
}

/* 텍스트 입력 */
.message-input[b-qp49byiere] {
    width: 100%;
    padding: 10px 14px 6px;
    border: none;
    background: transparent;
    color: var(--text-primary);
    font-size: 0.93rem;
    font-family: inherit;
    resize: none;
    min-height: 44px;
    max-height: 120px;
    line-height: 1.5;
    box-sizing: border-box;
}

.message-input:focus[b-qp49byiere] { outline: none; }

.message-input[b-qp49byiere]::placeholder { color: var(--text-muted); }

.message-input:disabled[b-qp49byiere] { opacity: 0.6; cursor: not-allowed; }

/* 하단 툴바 */
.input-toolbar[b-qp49byiere] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 8px 8px;
    border-top: 1px solid var(--border-color-light, var(--border-color));
    gap: 8px;
}

.toolbar-left[b-qp49byiere] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.toolbar-right[b-qp49byiere] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 파일 첨부 버튼 */
.btn-attach[b-qp49byiere] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    background: var(--bg-main);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
    transition: all 0.18s ease;
    white-space: nowrap;
}

.btn-attach i[b-qp49byiere] { font-size: 0.9rem; }

.btn-attach:hover:not(:disabled)[b-qp49byiere] {
    background: var(--accent-soft);
    color: var(--accent);
    border-color: var(--accent);
}

.btn-attach:disabled[b-qp49byiere] { opacity: 0.45; cursor: not-allowed; }

.attach-label[b-qp49byiere] { font-size: 0.78rem; }

.attach-count[b-qp49byiere] {
    font-size: 0.75rem;
    color: var(--accent);
    font-weight: 600;
    padding: 2px 8px;
    background: var(--accent-soft);
    border-radius: 10px;
}

/* 전송 힌트 */
.send-hint[b-qp49byiere] {
    font-size: 0.72rem;
    color: var(--text-muted);
    opacity: 0.7;
}

/* 전송 버튼 */
.btn-send[b-qp49byiere] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border: none;
    border-radius: 20px;
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: white;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    transition: all 0.18s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.btn-send i[b-qp49byiere] { font-size: 0.85rem; }

.btn-send:hover:not(:disabled)[b-qp49byiere] {
    box-shadow: 0 4px 14px rgba(102, 126, 234, 0.45);
    transform: translateY(-1px);
}

.btn-send:disabled[b-qp49byiere] {
    background: var(--border-color);
    color: var(--text-muted);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.spin[b-qp49byiere] { animation: spin-b-qp49byiere 0.8s linear infinite; }
@keyframes spin-b-qp49byiere { to { transform: rotate(360deg); } }

/* 스크롤바 */
.chat-modal-messages[b-qp49byiere]::-webkit-scrollbar {
    width: 6px;
}

.chat-modal-messages[b-qp49byiere]::-webkit-scrollbar-track {
    background: transparent;
}

.chat-modal-messages[b-qp49byiere]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 3px;
}

.chat-modal-messages[b-qp49byiere]::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* 애니메이션 */
@keyframes fadeIn-b-qp49byiere {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-qp49byiere {
    from {
        opacity: 0;
        transform: translate(-50%, -40%);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

/* 반응형 */
@media (max-width: 768px) {
    .chat-modal-container[b-qp49byiere] {
        inset: 0;
        top: 0;
        left: 0;
        transform: none;
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        border-radius: 0;
        animation: none;
    }

    .chat-modal-header[b-qp49byiere] {
        min-height: 54px;
        padding: max(10px, env(safe-area-inset-top)) 12px 10px;
        gap: 10px;
    }

    .chat-modal-title[b-qp49byiere] {
        min-width: 0;
        overflow: hidden;
        flex-wrap: nowrap;
    }

    .chat-modal-title h3[b-qp49byiere] {
        font-size: 0.95rem;
        line-height: 1.3;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        word-break: keep-all;
    }

    .chat-modal-subtitle[b-qp49byiere] {
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .chat-modal-actions[b-qp49byiere] {
        display: flex;
        flex-direction: row;
        align-items: center;
        width: auto;
        gap: 4px;
    }

    .chat-modal-actions > button[b-qp49byiere] {
        width: 36px;
        min-width: 36px;
        max-width: 36px;
        height: 36px;
        flex: 0 0 36px;
    }

    .chat-modal-messages[b-qp49byiere] {
        padding: 10px;
        gap: 6px;
    }

    .chat-modal-input-area[b-qp49byiere] {
        padding: 8px 8px max(10px, env(safe-area-inset-bottom));
    }
    .message-input[b-qp49byiere] { font-size: 0.9rem; min-height: 36px; }
    .btn-attach .attach-label[b-qp49byiere] { display: none; } /* 모바일: 텍스트 숨김 */
    .btn-attach[b-qp49byiere] { padding: 5px 8px; }
    .btn-send[b-qp49byiere] { padding: 6px 12px; }
    .send-hint[b-qp49byiere] { display: none; }
}

/* 다크 모드 */
[data-theme="dark"] .chat-modal-overlay[b-qp49byiere] {
    background: rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .message-input[b-qp49byiere] {
    background: var(--bg-input);
    color: var(--text-primary);
}

[data-theme="dark"] .message-input:focus[b-qp49byiere] {
    box-shadow: 0 0 0 2px var(--accent-soft);
}

[data-theme="dark"] .btn-leave-chat:hover[b-qp49byiere],
[data-theme="dark"] .btn-leave-chat.active[b-qp49byiere] {
    background: rgba(220,38,38,0.15);
    color: #f87171;
}

[data-theme="dark"] .leave-confirm-banner[b-qp49byiere] {
    background: rgba(185,28,28,0.12);
    border-color: rgba(252,165,165,0.2);
    color: #f87171;
}

[data-theme="dark"] .btn-leave-confirm[b-qp49byiere] {
    background: #b91c1c;
}

[data-theme="dark"] .btn-leave-confirm:hover[b-qp49byiere] {
    background: #991b1b;
}

[data-theme="dark"] .btn-leave-cancel[b-qp49byiere] {
    border-color: rgba(248,113,113,0.3);
    color: #f87171;
}

[data-theme="dark"] .btn-leave-cancel:hover[b-qp49byiere] {
    background: rgba(185,28,28,0.15);
}
/* /Components/Pages/Messaging/ConversationList.razor.rz.scp.css */
/* 대화 목록 컨테이너 */
.conversation-list-container[b-nmiw46d1y2] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--bg-surface);
    overflow: hidden;
}

/* 헤더 */
.conv-header[b-nmiw46d1y2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
    gap: 12px;
}

.conv-title[b-nmiw46d1y2] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
}

.btn-new-message[b-nmiw46d1y2] {
    width: 36px;
    height: 36px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-main);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.btn-new-message:hover:not(:disabled)[b-nmiw46d1y2] {
    background: var(--accent-soft);
    color: var(--accent);
    border-color: var(--accent);
}

.btn-new-message:disabled[b-nmiw46d1y2] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 검색 필터 */
.conv-search[b-nmiw46d1y2] {
    padding: 10px 12px 8px;
    flex-shrink: 0;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.search-input[b-nmiw46d1y2] {
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-input);
    color: var(--text-primary);
    font-size: 0.92rem;
    transition: border-color 0.2s ease;
}

.search-input:focus[b-nmiw46d1y2] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-soft);
}

.search-input[b-nmiw46d1y2]::placeholder {
    color: var(--text-muted);
}

/* 대화 목록 */
.conv-list[b-nmiw46d1y2] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 4px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.conv-loading[b-nmiw46d1y2],
.conv-empty[b-nmiw46d1y2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: var(--text-muted);
    text-align: center;
    gap: 12px;
    flex: 1;
}

.conv-loading i[b-nmiw46d1y2],
.conv-empty i[b-nmiw46d1y2] {
    font-size: 2.5rem;
    opacity: 0.5;
}

.conv-loading span[b-nmiw46d1y2],
.conv-empty span[b-nmiw46d1y2] {
    font-size: 0.95rem;
}

/* 대화 아이템 */
.conv-item[b-nmiw46d1y2] {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) minmax(42px, auto);
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin: 0 4px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.15s ease;
    background: transparent;
    border: 1px solid transparent;
    position: relative;
    min-height: 64px;
}

.conv-item:hover[b-nmiw46d1y2] {
    background: var(--hover-bg);
    border-color: var(--border-color-light);
}

.conv-item.active[b-nmiw46d1y2] {
    background: var(--accent-soft);
    border-color: var(--accent);
}

/* 아바타 */
.conv-avatar[b-nmiw46d1y2] {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--bg-main);
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--text-secondary);
    flex-shrink: 0;
}

.conv-avatar i[b-nmiw46d1y2] {
    display: block;
}

.conv-avatar img[b-nmiw46d1y2] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: inherit;
}

.conv-avatar.direct[b-nmiw46d1y2] {
    overflow: visible;
    padding: 2px;
    background: var(--bg-surface);
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.14);
}

.conv-avatar.direct img[b-nmiw46d1y2] {
    border-radius: 50%;
}

.conv-avatar.group[b-nmiw46d1y2] {
    color: #6366f1;
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.3);
}

.unread-badge[b-nmiw46d1y2] {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ef4444;
    color: white;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    border: 2px solid var(--bg-surface);
}

/* 대화 정보 */
.conv-info[b-nmiw46d1y2] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.conv-name-row[b-nmiw46d1y2] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.conv-name[b-nmiw46d1y2] {
    min-width: 0;
    flex: 1;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.95rem;
}

.conv-type-badge[b-nmiw46d1y2] {
    flex-shrink: 0;
    min-width: 34px;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.conv-side[b-nmiw46d1y2] {
    align-self: stretch;
    min-width: 42px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 12px;
}

.conv-type-badge.group[b-nmiw46d1y2] {
    color: #4f46e5;
    background: rgba(99, 102, 241, 0.12);
}

.conv-type-badge.direct[b-nmiw46d1y2] {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
}

.conv-members[b-nmiw46d1y2] {
    font-size: 0.78rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}

.conv-preview[b-nmiw46d1y2] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.conv-preview .text-muted[b-nmiw46d1y2] {
    color: var(--text-muted);
    font-style: italic;
}

/* 시간 */
.conv-time[b-nmiw46d1y2] {
    font-size: 0.8rem;
    color: var(--text-muted);
    white-space: nowrap;
    flex-shrink: 0;
    text-align: right;
}

/* 스크롤바 */
.conv-list[b-nmiw46d1y2]::-webkit-scrollbar {
    width: 6px;
}

.conv-list[b-nmiw46d1y2]::-webkit-scrollbar-track {
    background: transparent;
}

.conv-list[b-nmiw46d1y2]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 3px;
}

.conv-list[b-nmiw46d1y2]::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* 다크 모드 */
[data-theme="dark"] .conv-item:hover[b-nmiw46d1y2] {
    background: var(--hover-bg);
}

[data-theme="dark"] .conv-item.active[b-nmiw46d1y2] {
    background: var(--accent-soft);
    border-color: var(--accent);
}

/* 태블릿 조정 */
@media (max-width: 1024px) {
    .conv-header[b-nmiw46d1y2] {
        padding: 12px;
    }

    .conv-item[b-nmiw46d1y2] {
        padding: 10px;
        min-height: 60px;
    }

    .conv-avatar[b-nmiw46d1y2] {
        width: 44px;
        height: 44px;
        font-size: 1.3rem;
    }

    .conv-name[b-nmiw46d1y2] {
        font-size: 0.9rem;
    }

    .conv-preview[b-nmiw46d1y2] {
        font-size: 0.8rem;
    }
}

/* 모바일 조정 */
@media (max-width: 768px) {
    .conversation-list-container[b-nmiw46d1y2] {
        height: 100%;
    }

    .conv-header[b-nmiw46d1y2] {
        padding: 12px;
    }

    .conv-search[b-nmiw46d1y2] {
        padding: 0 8px 8px;
    }

    .conv-item[b-nmiw46d1y2] {
        padding: 10px 8px;
        margin: 0 2px;
        gap: 10px;
    }

    .conv-avatar[b-nmiw46d1y2] {
        width: 44px;
        height: 44px;
        font-size: 1.3rem;
    }

    .conv-name[b-nmiw46d1y2] {
        font-size: 0.9rem;
    }

    .conv-preview[b-nmiw46d1y2] {
        font-size: 0.8rem;
    }
}
/* /Components/Pages/Messaging/CreateGroupModal.razor.rz.scp.css */
/* 모달 오버레이 */
.modal-overlay[b-5ma6ldt65g] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99;
    animation: fadeIn-b-5ma6ldt65g 0.2s ease;
}

/* 모달 컨테이너 */
.create-group-modal[b-5ma6ldt65g] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 500px;
    background: var(--bg-surface);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    z-index: 100;
    display: flex;
    flex-direction: column;
    height: auto;
    max-height: 95vh;
    overflow: visible;
    animation: slideUp-b-5ma6ldt65g 0.3s ease;
}

/* 모달 헤더 */
.modal-header[b-5ma6ldt65g] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.modal-header h3[b-5ma6ldt65g] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary);
}

.btn-close[b-5ma6ldt65g] {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all 0.2s ease;
    padding: 0;
}

.btn-close:hover[b-5ma6ldt65g] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

/* 모달 콘텐츠 */
.modal-content[b-5ma6ldt65g] {
    flex: 0 0 auto;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 400px;
    background-color: var(--bg-surface) !important;
    border-radius: 0;
}

/* 폼 그룹 */
.form-group[b-5ma6ldt65g] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-label[b-5ma6ldt65g] {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.95rem;
}

.form-control[b-5ma6ldt65g] {
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-input);
    color: var(--text-primary);
    font-size: 0.9rem;
    transition: border-color 0.2s;
}

.form-control:focus[b-5ma6ldt65g] {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-soft);
}

.form-control[b-5ma6ldt65g]::placeholder {
    color: var(--text-secondary);
}

/* 멤버 리스트 */
.member-list[b-5ma6ldt65g] {
    border: 1px solid var(--border-color);
    border-radius: 6px;
    overflow-y: auto;
    max-height: 250px;
    background: var(--bg-input);
}

.selected-member-list[b-5ma6ldt65g] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-input);
}

.selected-member-chip[b-5ma6ldt65g] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--accent-soft);
    color: var(--text-primary);
    font-size: 0.82rem;
    font-weight: 600;
}

.selected-member-chip small[b-5ma6ldt65g] {
    color: var(--text-secondary);
    font-weight: 500;
}

.selected-member-chip button[b-5ma6ldt65g] {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--text-secondary);
    line-height: 1;
    cursor: pointer;
}

.selected-member-chip button:hover[b-5ma6ldt65g] {
    background: rgba(15, 23, 42, 0.1);
    color: var(--text-primary);
}

.member-item[b-5ma6ldt65g] {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: background-color 0.2s;
}

.member-item:last-child[b-5ma6ldt65g] {
    border-bottom: none;
}

.member-item:hover[b-5ma6ldt65g] {
    background-color: var(--hover-bg);
}

.member-item.selected[b-5ma6ldt65g] {
    background-color: var(--accent-soft);
}

.member-checkbox[b-5ma6ldt65g] {
    display: flex;
    align-items: center;
    margin-right: 12px;
    flex-shrink: 0;
}

.member-checkbox input[type="checkbox"][b-5ma6ldt65g] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.member-info[b-5ma6ldt65g] {
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.member-name[b-5ma6ldt65g] {
    font-weight: 500;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-sub[b-5ma6ldt65g] {
    color: var(--text-secondary);
    font-size: 0.8rem;
    white-space: nowrap;
}

.status-badge[b-5ma6ldt65g] {
    font-size: 0.75rem;
    padding: 2px 6px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
    flex-shrink: 0;
}

.status-badge.online[b-5ma6ldt65g] {
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.status-badge i[b-5ma6ldt65g] {
    font-size: 0.5rem;
}

.empty-message[b-5ma6ldt65g] {
    padding: 20px;
    text-align: center;
    color: var(--text-secondary);
}

/* 알림 메시지 */
.alert[b-5ma6ldt65g] {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
}

.alert-danger[b-5ma6ldt65g] {
    background-color: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

/* 모달 푸터 */
.modal-footer[b-5ma6ldt65g] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 16px;
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
}

/* 버튼 */
.modal-btn[b-5ma6ldt65g] {
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.9rem;
    min-width: 80px;
}

.modal-btn:disabled[b-5ma6ldt65g] {
    opacity: 0.5;
    cursor: not-allowed;
}

.modal-btn-create[b-5ma6ldt65g] {
    background-color: var(--accent);
    color: #ffffff;
}

.modal-btn-create:hover:not(:disabled)[b-5ma6ldt65g] {
    opacity: 0.9;
    transform: translateY(-1px);
}

.modal-btn-cancel[b-5ma6ldt65g] {
    background-color: var(--hover-bg);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.modal-btn-cancel:hover:not(:disabled)[b-5ma6ldt65g] {
    background-color: var(--border-color);
}

/* 애니메이션 */
@keyframes fadeIn-b-5ma6ldt65g {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideUp-b-5ma6ldt65g {
    from {
        transform: translate(-50%, -30%);
        opacity: 0;
    }
    to {
        transform: translate(-50%, -50%);
        opacity: 1;
    }
}

/* 다크 모드 */
[data-theme="dark"] .create-group-modal[b-5ma6ldt65g] {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .form-control[b-5ma6ldt65g] {
    background: var(--bg-main);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .member-list[b-5ma6ldt65g] {
    background: var(--bg-main);
    border-color: var(--border-color);
}

[data-theme="dark"] .member-item[b-5ma6ldt65g] {
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .member-item:hover[b-5ma6ldt65g] {
    background-color: var(--hover-bg);
}

[data-theme="dark"] .modal-overlay[b-5ma6ldt65g] {
    background: rgba(0, 0, 0, 0.65);
}

/* 반응형 */
@media (max-width: 768px) {
    .create-group-modal[b-5ma6ldt65g] {
        width: 95%;
        max-width: none;
        max-height: 95vh;
    }

    .member-list[b-5ma6ldt65g] {
        max-height: 250px;
    }

    .btn[b-5ma6ldt65g] {
        min-width: 70px;
        padding: 6px 12px;
        font-size: 0.85rem;
    }
}
/* /Components/Pages/Messaging/FriendList.razor.rz.scp.css */
.friend-list-container[b-qez4ft4tk8] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background-color: var(--bg-surface);
}

/* 헤더 */
.friend-header[b-qez4ft4tk8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
}

.friend-title[b-qez4ft4tk8] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
}

.btn-create-group[b-qez4ft4tk8] {
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.85rem;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.btn-create-group:hover:not(:disabled)[b-qez4ft4tk8] {
    background-color: var(--hover-bg);
    color: var(--text-primary);
}

.btn-create-group:disabled[b-qez4ft4tk8] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-create-group i[b-qez4ft4tk8] {
    font-size: 1rem;
}

.btn-create-group span[b-qez4ft4tk8] {
    font-size: 0.75rem;
    font-weight: 500;
}

/* 사용자 목록 - 세로 배치 */
.friend-list[b-qez4ft4tk8] {
    flex: 1;
    overflow-y: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
}

/* 사용자 아이템 */
.friend-item[b-qez4ft4tk8] {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: background-color 0.2s;
}

.friend-item:hover[b-qez4ft4tk8] {
    background-color: var(--hover-bg);
}

.friend-avatar[b-qez4ft4tk8] {
    position: relative;
    margin-right: 12px;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--border-color);
    background: var(--bg-main);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}

.friend-avatar img[b-qez4ft4tk8] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* 검색창 */
.friend-search[b-qez4ft4tk8] {
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-color);
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.friend-search .search-input[b-qez4ft4tk8] {
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
    font-size: 0.85rem;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    background: var(--bg-main);
    color: var(--text-primary);
}

.friend-search .search-input:focus[b-qez4ft4tk8] {
    outline: none;
    border-color: var(--primary-color);
}

/* 사용자 정보 */
.friend-info[b-qez4ft4tk8] {
    flex: 1;
    min-width: 0;
}

.friend-name[b-qez4ft4tk8] {
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.9rem;
}

.friend-sub[b-qez4ft4tk8] {
    font-size: 0.78rem;
    color: var(--text-secondary);
    margin-top: 2px;
}

/* 로딩 상태 */
.friend-loading[b-qez4ft4tk8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-secondary);
    gap: 8px;
}

.friend-loading i[b-qez4ft4tk8] {
    font-size: 2rem;
    animation: spin-b-qez4ft4tk8 1s linear infinite;
}

@keyframes spin-b-qez4ft4tk8 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* 빈 상태 */
.friend-empty[b-qez4ft4tk8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-secondary);
    gap: 12px;
}

.friend-empty i[b-qez4ft4tk8] {
    font-size: 3rem;
    opacity: 0.5;
}

/* 반응형 */
@media (max-width: 768px) {
    .friend-item[b-qez4ft4tk8] {
        padding: 10px 12px;
    }

    .friend-avatar[b-qez4ft4tk8] {
        width: 38px;
        height: 38px;
    }

    .friend-title[b-qez4ft4tk8] {
        font-size: 0.95rem;
    }

    .btn-create-group span[b-qez4ft4tk8] {
        display: none;
    }
}
/* /Components/Pages/Messaging/InviteGroupMembersModal.razor.rz.scp.css */
.invite-modal-overlay[b-bwzpg4hewa] {
    position: fixed;
    inset: 0;
    z-index: 10800;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(15, 23, 42, 0.54);
    animation: inviteFadeIn-b-bwzpg4hewa 0.16s ease;
}

.invite-modal-panel[b-bwzpg4hewa] {
    width: min(520px, 96vw);
    max-height: min(720px, 92vh);
    background: var(--bg-surface);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.32);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: inviteSlideIn-b-bwzpg4hewa 0.2s ease;
}

.invite-modal-header[b-bwzpg4hewa],
.invite-modal-footer[b-bwzpg4hewa] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding: 14px 18px;
    background: var(--bg-surface);
}

.invite-modal-header[b-bwzpg4hewa] {
    justify-content: space-between;
    border-bottom: 1px solid var(--border-color);
}

.invite-modal-header h5[b-bwzpg4hewa] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.invite-close[b-bwzpg4hewa] {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.invite-close:hover:not(:disabled)[b-bwzpg4hewa] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

.invite-modal-body[b-bwzpg4hewa] {
    min-height: 0;
    overflow-y: auto;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.invite-search-wrap[b-bwzpg4hewa] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-input);
}

.invite-search-wrap:focus-within[b-bwzpg4hewa] {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-soft);
}

.invite-search-wrap i[b-bwzpg4hewa] {
    color: var(--text-muted);
    font-size: 14px;
}

.invite-search-input[b-bwzpg4hewa] {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 13px;
}

.invite-search-input[b-bwzpg4hewa]::placeholder {
    color: var(--text-muted);
}

.current-member-section[b-bwzpg4hewa] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.section-label[b-bwzpg4hewa],
.invite-list-header[b-bwzpg4hewa] {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
}

.current-member-list[b-bwzpg4hewa] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 76px;
    overflow-y: auto;
}

.current-member-chip[b-bwzpg4hewa] {
    max-width: 140px;
    padding: 4px 8px;
    background: var(--accent-soft);
    color: var(--accent);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.invite-list-header[b-bwzpg4hewa] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.invite-list-header strong[b-bwzpg4hewa] {
    color: var(--accent);
    font-size: 12px;
}

.invite-user-list[b-bwzpg4hewa] {
    min-height: 220px;
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--bg-input);
}

.invite-user-row[b-bwzpg4hewa] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 9px 12px;
    border-bottom: 1px solid var(--border-color-light);
    cursor: pointer;
    transition: background 0.14s ease;
}

.invite-user-row:last-child[b-bwzpg4hewa] {
    border-bottom: 0;
}

.invite-user-row:hover[b-bwzpg4hewa] {
    background: var(--hover-bg);
}

.invite-user-row.selected[b-bwzpg4hewa] {
    background: var(--accent-soft);
}

.invite-check[b-bwzpg4hewa] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    accent-color: var(--accent);
    cursor: pointer;
}

.invite-user-avatar[b-bwzpg4hewa] {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 24px;
}

.invite-user-info[b-bwzpg4hewa] {
    flex: 1;
    min-width: 0;
}

.invite-user-name[b-bwzpg4hewa] {
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.invite-user-sub[b-bwzpg4hewa] {
    margin-top: 2px;
    color: var(--text-muted);
    font-size: 12px;
}

.invite-selected-icon[b-bwzpg4hewa] {
    flex-shrink: 0;
    color: var(--accent);
    font-size: 16px;
}

.invite-empty[b-bwzpg4hewa] {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--text-muted);
    font-size: 13px;
    text-align: center;
}

.invite-empty i[b-bwzpg4hewa] {
    font-size: 26px;
    opacity: 0.45;
}

.invite-alert[b-bwzpg4hewa] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
}

.invite-alert.error[b-bwzpg4hewa] {
    color: #b91c1c;
    background: #fff1f2;
    border: 1px solid #fecdd3;
}

.invite-alert.success[b-bwzpg4hewa] {
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.invite-modal-footer[b-bwzpg4hewa] {
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--border-color);
}

.invite-cancel[b-bwzpg4hewa],
.invite-submit[b-bwzpg4hewa] {
    min-width: 92px;
    min-height: 36px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
}

.invite-cancel[b-bwzpg4hewa] {
    border: 1px solid var(--border-color);
    background: var(--bg-surface);
    color: var(--text-secondary);
}

.invite-cancel:hover:not(:disabled)[b-bwzpg4hewa] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

.invite-submit[b-bwzpg4hewa] {
    border: 0;
    background: var(--accent);
    color: #fff;
}

.invite-submit:hover:not(:disabled)[b-bwzpg4hewa] {
    filter: brightness(0.96);
}

.invite-cancel:disabled[b-bwzpg4hewa],
.invite-submit:disabled[b-bwzpg4hewa],
.invite-close:disabled[b-bwzpg4hewa] {
    opacity: 0.55;
    cursor: not-allowed;
}

@keyframes inviteFadeIn-b-bwzpg4hewa {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes inviteSlideIn-b-bwzpg4hewa {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 520px) {
    .invite-modal-overlay[b-bwzpg4hewa] {
        padding: 10px;
        align-items: flex-start;
    }

    .invite-modal-panel[b-bwzpg4hewa] {
        width: 100%;
        max-height: calc(100vh - 20px);
    }

    .invite-modal-header[b-bwzpg4hewa],
    .invite-modal-footer[b-bwzpg4hewa] {
        padding: 12px 14px;
    }

    .invite-modal-body[b-bwzpg4hewa] {
        padding: 14px;
    }

    .invite-user-list[b-bwzpg4hewa] {
        max-height: 42vh;
    }
}

[data-theme="dark"] .invite-modal-overlay[b-bwzpg4hewa] {
    background: rgba(0, 0, 0, 0.68);
}

[data-theme="dark"] .invite-alert.error[b-bwzpg4hewa] {
    color: #fca5a5;
    background: rgba(185, 28, 28, 0.14);
    border-color: rgba(252, 165, 165, 0.22);
}

[data-theme="dark"] .invite-alert.success[b-bwzpg4hewa] {
    color: #86efac;
    background: rgba(22, 101, 52, 0.18);
    border-color: rgba(134, 239, 172, 0.24);
}
/* /Components/Pages/Messaging/MessageGroup.razor.rz.scp.css */
/* 메시지 그룹 컨테이너 */
.message-group[b-u721ebrrmu] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    min-width: 0;
    animation: messageAppear-b-u721ebrrmu 0.3s ease-out;
}

@keyframes messageAppear-b-u721ebrrmu {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 송신 메시지 (우측) */
.message-item.sent[b-u721ebrrmu] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

/* 수신 메시지 (좌측) */
.message-item.received[b-u721ebrrmu] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.received-message-row[b-u721ebrrmu] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    width: 86%;
    max-width: 86%;
    min-width: 0;
}

.received-message-content[b-u721ebrrmu] {
    flex: 1 1 auto;
    width: calc(100% - 43px);
    min-width: 0;
    max-width: calc(100% - 43px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.message-avatar[b-u721ebrrmu] {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    margin-top: 1px;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid var(--border-color);
    background: var(--bg-main);
    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.12);
}

.message-avatar img[b-u721ebrrmu] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* 메시지 래퍼 */
.message-wrapper[b-u721ebrrmu] {
    display: flex;
    gap: 6px;
    align-items: flex-end;
    max-width: 80%;
    position: relative;
}

.message-item.sent .message-wrapper[b-u721ebrrmu] {
    flex-direction: row-reverse;
}

.message-item.received .message-wrapper[b-u721ebrrmu] {
    flex-direction: row;
    width: fit-content;
    max-width: 100%;
}

/* 메시지 말풍선 */
.message-bubble[b-u721ebrrmu] {
    padding: 10px 14px;
    border-radius: 12px;
    word-break: break-word;
    line-height: 1.4;
    font-size: 0.95rem;
    max-width: 100%;
}

/* 송신 메시지 스타일 */
.sent-bubble[b-u721ebrrmu] {
    background: var(--accent);
    color: white;
    border-radius: 12px 12px 4px 12px;
}

/* 수신 메시지 스타일 */
.received-bubble[b-u721ebrrmu] {
    background: var(--bg-input);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 12px 12px 12px 4px;
}

/* 메시지 텍스트 */
.message-text[b-u721ebrrmu] {
    white-space: pre-wrap;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

/* 메시지 이미지 */
.message-image[b-u721ebrrmu] {
    max-width: 300px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--bg-main);
}

.message-image img[b-u721ebrrmu] {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 400px;
}

/* 메시지 파일 */
.message-file[b-u721ebrrmu] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--bg-input);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    color: inherit;
}

.message-item.sent .message-file[b-u721ebrrmu] {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
}

.message-file:hover[b-u721ebrrmu] {
    background: var(--hover-bg);
    border-color: var(--accent);
}

.message-item.sent .message-file:hover[b-u721ebrrmu] {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
}

.message-file i[b-u721ebrrmu] {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.message-item.sent .message-file i[b-u721ebrrmu] {
    color: white;
}

.message-item.received .message-file i[b-u721ebrrmu] {
    color: var(--accent);
}

.file-name[b-u721ebrrmu] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.file-size[b-u721ebrrmu] {
    font-size: 0.8rem;
    color: var(--text-muted);
    flex-shrink: 0;
}

.message-item.sent .file-size[b-u721ebrrmu] {
    color: rgba(255, 255, 255, 0.7);
}

/* 메시지 메타 정보 (시간, 읽음 상태) */
.message-meta[b-u721ebrrmu] {
    display: flex;
    gap: 6px;
    align-items: center;
    font-size: 0.8rem;
    color: var(--text-muted);
}

.sent-meta[b-u721ebrrmu] {
    justify-content: flex-end;
    padding-right: 4px;
}

.received-meta[b-u721ebrrmu] {
    justify-content: flex-start;
    padding-left: 4px;
}

.read-status[b-u721ebrrmu] {
    color: var(--accent);
    font-weight: 600;
}

.unread-member-count[b-u721ebrrmu] {
    min-width: 16px;
    color: #f59e0b;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.message-time[b-u721ebrrmu] {
    white-space: nowrap;
    flex-shrink: 0;
}

/* 수정됨 표시 */
.message-edited[b-u721ebrrmu] {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-style: italic;
    margin-top: 2px;
}

.message-item.sent .message-edited[b-u721ebrrmu] {
    margin-right: 4px;
}

.message-item.received .message-edited[b-u721ebrrmu] {
    margin-left: 4px;
}

/* 발신자 정보 (수신 메시지) */
.sender-info[b-u721ebrrmu] {
    padding-left: 2px;
    margin-bottom: 2px;
}

.sender-name[b-u721ebrrmu] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary);
}

/* 메시지 작업 버튼 */
.message-actions[b-u721ebrrmu] {
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.2s ease;
    position: relative;
}

.message-item:hover .message-actions[b-u721ebrrmu] {
    opacity: 1;
}

.btn-action[b-u721ebrrmu] {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: var(--bg-main);
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.sent-actions .btn-action[b-u721ebrrmu] {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.btn-action:hover[b-u721ebrrmu] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

.sent-actions .btn-action:hover[b-u721ebrrmu] {
    background: rgba(255, 255, 255, 0.3);
}

.btn-action.btn-danger[b-u721ebrrmu] {
    color: #dc2626;
}

.btn-action.btn-danger:hover[b-u721ebrrmu] {
    background: #fee2e2;
    color: #991b1b;
}

.sent-actions .btn-action.btn-danger:hover[b-u721ebrrmu] {
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
}

/* 다크 모드 */
[data-theme="dark"] .received-bubble[b-u721ebrrmu] {
    background: var(--bg-input);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .message-file[b-u721ebrrmu] {
    background: var(--bg-main);
    border-color: var(--border-color);
}

[data-theme="dark"] .message-file:hover[b-u721ebrrmu] {
    background: var(--hover-bg);
}

[data-theme="dark"] .btn-action[b-u721ebrrmu] {
    background: var(--bg-main);
    color: var(--text-secondary);
}

[data-theme="dark"] .btn-action:hover[b-u721ebrrmu] {
    background: var(--hover-bg);
    color: var(--text-primary);
}

[data-theme="dark"] .btn-action.btn-danger:hover[b-u721ebrrmu] {
    background: rgba(220, 38, 38, 0.15);
    color: #fca5a5;
}

/* 반응형 - 태블릿 */
@media (max-width: 1024px) {
    .message-wrapper[b-u721ebrrmu] {
        max-width: 85%;
    }

    .message-bubble[b-u721ebrrmu] {
        padding: 9px 12px;
        font-size: 0.9rem;
    }

    .message-image[b-u721ebrrmu] {
        max-width: 250px;
    }

    .btn-action[b-u721ebrrmu] {
        width: 26px;
        height: 26px;
        font-size: 0.8rem;
    }

    .message-meta[b-u721ebrrmu] {
        font-size: 0.75rem;
    }
}

/* 반응형 - 모바일 */
@media (max-width: 768px) {
    .message-wrapper[b-u721ebrrmu] {
        max-width: 90%;
    }

    .message-bubble[b-u721ebrrmu] {
        padding: 8px 10px;
        font-size: 0.88rem;
    }

    .message-image[b-u721ebrrmu] {
        max-width: min(72vw, 280px);
        max-height: 45dvh;
    }

    .message-image img[b-u721ebrrmu] {
        max-height: 45dvh;
        object-fit: contain;
    }

    .message-file[b-u721ebrrmu] {
        padding: 6px 10px;
        font-size: 0.85rem;
    }

    .message-file i[b-u721ebrrmu] {
        font-size: 1rem;
    }

    .file-name[b-u721ebrrmu] {
        max-width: 120px;
    }

    .file-size[b-u721ebrrmu] {
        font-size: 0.75rem;
    }

    .message-meta[b-u721ebrrmu] {
        font-size: 0.7rem;
    }

    .message-edited[b-u721ebrrmu] {
        font-size: 0.7rem;
    }

    .sender-name[b-u721ebrrmu] {
        font-size: 0.75rem;
    }

    .received-message-row[b-u721ebrrmu] {
        width: 94%;
        max-width: 94%;
        gap: 7px;
    }

    .message-avatar[b-u721ebrrmu] {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .btn-action[b-u721ebrrmu] {
        width: 24px;
        height: 24px;
        font-size: 0.75rem;
    }

    .message-actions[b-u721ebrrmu] {
        gap: 2px;
    }
}

/* 매우 긴 단어 처리 */
.message-bubble[b-u721ebrrmu] {
    overflow-wrap: break-word;
    word-break: keep-all;
}

.file-name[b-u721ebrrmu] {
    word-break: break-all;
}

/* 링크 스타일 */
.message-bubble a[b-u721ebrrmu] {
    color: inherit;
    text-decoration: underline;
    word-break: break-all;
}

.sent-bubble a[b-u721ebrrmu] {
    color: inherit;
    opacity: 0.9;
}

.received-bubble a[b-u721ebrrmu] {
    color: var(--accent);
}
/* /Components/Pages/Project/ProjectDetail.razor.rz.scp.css */
/* ===== 로딩 / 없음 ===== */
.detail-loading[b-mm6wfd7uo9], .detail-not-found[b-mm6wfd7uo9] {
    padding: 60px; text-align: center; color: var(--text-muted); font-size: 15px;
}
.spin[b-mm6wfd7uo9] { animation: spin-b-mm6wfd7uo9 1s linear infinite; display: inline-block; }
@keyframes spin-b-mm6wfd7uo9 { to { transform: rotate(360deg); } }

/* ===== 전체 페이지 ===== */
.detail-page[b-mm6wfd7uo9] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-mm6wfd7uo9] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-mm6wfd7uo9 0.3s ease;
}
.toast-success[b-mm6wfd7uo9] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-mm6wfd7uo9]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-mm6wfd7uo9 { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* ===== 프로젝트 헤더 ===== */
.project-header[b-mm6wfd7uo9] {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 16px; margin-bottom: 20px; flex-wrap: wrap;
}
.project-header-left[b-mm6wfd7uo9] { display: flex; align-items: flex-start; gap: 14px; flex: 1; min-width: 0; }

.btn-back[b-mm6wfd7uo9] {
    display: inline-flex; align-items: center;
    padding: 7px 14px; background: var(--bg-surface);
    border: 1px solid var(--border-color); border-radius: 8px;
    font-size: 13px; font-weight: 600; color: var(--text-primary);
    cursor: pointer; white-space: nowrap; flex-shrink: 0;
}
.btn-back:hover[b-mm6wfd7uo9] { background: var(--hover-bg); }

.project-title-wrap[b-mm6wfd7uo9] { min-width: 0; }
.project-title[b-mm6wfd7uo9] { font-size: 20px; font-weight: 700; color: var(--text-primary); margin: 0 0 8px; }
.project-meta[b-mm6wfd7uo9] {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
    font-size: 12.5px; color: var(--text-muted);
}
.meta-item[b-mm6wfd7uo9] { display: flex; align-items: center; }

.project-header-right[b-mm6wfd7uo9] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.detail-action-row[b-mm6wfd7uo9] { display: flex; gap: 8px; }
.btn-detail-action[b-mm6wfd7uo9] {
    display: inline-flex; align-items: center; padding: 7px 14px;
    border-radius: 8px; font-size: 12.5px; font-weight: 600; cursor: pointer;
    border: none; transition: opacity 0.15s;
}
.btn-detail-action:hover[b-mm6wfd7uo9] { opacity: 0.85; }
.btn-excel[b-mm6wfd7uo9] { background: #217346; color: #fff; }
.btn-print[b-mm6wfd7uo9] { background: #1565c0; color: #fff; }
.progress-display[b-mm6wfd7uo9] { min-width: 200px; }
.progress-label[b-mm6wfd7uo9] { font-size: 12.5px; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; }
.progress-bar-wrap[b-mm6wfd7uo9] {
    height: 8px; background: var(--border-color);
    border-radius: 4px; overflow: hidden;
}
.progress-fill[b-mm6wfd7uo9] { height: 100%; border-radius: 4px; transition: width 0.4s; }
.fill-high[b-mm6wfd7uo9], .fill-high[b-mm6wfd7uo9] { background: #2e7d32; }
.fill-mid[b-mm6wfd7uo9]  { background: #1976d2; }
.fill-low[b-mm6wfd7uo9]  { background: #e65100; }

/* 유형/상태 배지 (재사용) */
.type-badge[b-mm6wfd7uo9] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.type-si[b-mm6wfd7uo9]       { background: #e3f2fd; color: #1565c0; }
.type-sm[b-mm6wfd7uo9]       { background: #f3e5f5; color: #6a1b9a; }
.type-컨설팅[b-mm6wfd7uo9]   { background: #fff8e1; color: #e65100; }
.type-자체개발[b-mm6wfd7uo9] { background: #e8f5e9; color: #2e7d32; }

.status-badge[b-mm6wfd7uo9] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.status-progress[b-mm6wfd7uo9] { background: #e3f2fd; color: #1565c0; }
.status-delay[b-mm6wfd7uo9]    { background: #fce4ec; color: #c62828; }
.status-hold[b-mm6wfd7uo9]     { background: #fff8e1; color: #e65100; }
.status-done[b-mm6wfd7uo9]     { background: #e8f5e9; color: #2e7d32; }
.status-default[b-mm6wfd7uo9]  { background: var(--bg-main); color: var(--text-muted); }

/* ===== 탭 ===== */
.tab-nav[b-mm6wfd7uo9] {
    display: flex; gap: 0; border-bottom: 2px solid var(--border-color);
    margin-bottom: 16px; overflow-x: auto; flex-shrink: 0;
    scrollbar-width: none;
}
.tab-nav[b-mm6wfd7uo9]::-webkit-scrollbar { display: none; }

.tab-btn[b-mm6wfd7uo9] {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 10px 18px; border: none; background: none; cursor: pointer;
    font-size: 13px; font-weight: 600; color: var(--text-muted);
    border-bottom: 2px solid transparent; margin-bottom: -2px;
    white-space: nowrap; transition: color 0.15s;
    position: relative;
}
.tab-btn:hover[b-mm6wfd7uo9] { color: var(--text-primary); }
.tab-btn.active[b-mm6wfd7uo9] { color: var(--accent); border-bottom-color: var(--accent); background: var(--accent-soft); }

.tab-badge[b-mm6wfd7uo9] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 17px; height: 17px; padding: 0 4px;
    background: #d32f2f; color: #fff;
    border-radius: 10px; font-size: 10px; font-weight: 700; margin-left: 2px;
}

/* ===== 탭 콘텐츠 ===== */
.proj-tab-content[b-mm6wfd7uo9] { }
.proj-tab-pane[b-mm6wfd7uo9] { display: block !important; }

.pane-header[b-mm6wfd7uo9] {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 12px;
}
.pane-header-right[b-mm6wfd7uo9] { display: flex; align-items: center; gap: 12px; }
.pane-title[b-mm6wfd7uo9] { margin: 0; font-size: 15px; font-weight: 700; color: var(--text-primary); }
.btn-pane-add[b-mm6wfd7uo9] {
    padding: 7px 16px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 12.5px; font-weight: 600;
    cursor: pointer; display: inline-flex; align-items: center; gap: 4px;
}
.btn-pane-add:hover[b-mm6wfd7uo9] { opacity: 0.9; }
/* 계획 자동생성 등 보조 액션 버튼 — 주황색 계열 */
.btn-pane-action[b-mm6wfd7uo9] {
    padding: 7px 14px; background: linear-gradient(135deg,#f093fb,#f5576c);
    color: #fff; border: none; border-radius: 8px; font-size: 12.5px; font-weight: 600;
    cursor: pointer; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
}
.btn-pane-action:hover[b-mm6wfd7uo9] { opacity: 0.9; }
.btn-pane-action:disabled[b-mm6wfd7uo9] { opacity: 0.6; cursor: not-allowed; }
.manhour-total[b-mm6wfd7uo9] { font-size: 13px; font-weight: 700; color: var(--text-primary); }
/* 산출물 — 단일 테이블 내 단계 그룹 헤더 행 */
.deliverable-group-row td[b-mm6wfd7uo9] {
    background: var(--bg-surface) !important;
    padding: 6px 12px !important;
    border-top: 2px solid var(--border-color) !important;
}
.deliverable-group-row:first-child td[b-mm6wfd7uo9] { border-top: 1px solid var(--border-color) !important; }

/* ===== 개요 탭 ===== */
.overview-grid[b-mm6wfd7uo9] {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.info-card[b-mm6wfd7uo9] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.info-card-head[b-mm6wfd7uo9] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 18px; border-bottom: 1px solid var(--border-color);
    background: var(--bg-main);
}
.info-card-head h6[b-mm6wfd7uo9] { margin: 0; font-size: 14px; font-weight: 700; color: var(--text-primary); }
.btn-edit-small[b-mm6wfd7uo9] {
    padding: 4px 12px; background: none; border: 1px solid var(--border-color);
    border-radius: 6px; font-size: 12px; color: var(--accent); cursor: pointer;
    display: inline-flex; align-items: center; gap: 4px;
}
.btn-edit-small:hover[b-mm6wfd7uo9] { background: var(--accent-soft); }

.info-card-body[b-mm6wfd7uo9] { padding: 16px 18px; }

.info-dl[b-mm6wfd7uo9] {
    display: grid; grid-template-columns: 120px 1fr; gap: 8px 12px; margin: 0;
}
.info-dl dt[b-mm6wfd7uo9] { font-size: 11.5px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; align-self: start; padding-top: 2px; }
.info-dl dd[b-mm6wfd7uo9] { font-size: 13.5px; color: var(--text-primary); margin: 0; }
.desc-cell[b-mm6wfd7uo9] { white-space: pre-wrap; line-height: 1.5; }

.field-grid-2[b-mm6wfd7uo9] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field-grid-1[b-mm6wfd7uo9] { display: flex; flex-direction: column; gap: 12px; }
.field-item[b-mm6wfd7uo9] { display: flex; flex-direction: column; gap: 4px; }
.field-item.full-span[b-mm6wfd7uo9] { grid-column: span 2; }
.field-item label[b-mm6wfd7uo9] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-mm6wfd7uo9] {
    font-size: 13px; padding: 7px 10px; border-radius: 6px;
    border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary);
}

.edit-actions[b-mm6wfd7uo9] { display: flex; gap: 8px; margin-top: 12px; }
.btn-save-small[b-mm6wfd7uo9] {
    padding: 7px 20px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 7px; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.btn-save-small:hover:not(:disabled)[b-mm6wfd7uo9] { opacity: 0.9; }
.btn-save-small:disabled[b-mm6wfd7uo9] { opacity: 0.6; cursor: not-allowed; }
.btn-cancel-small[b-mm6wfd7uo9] {
    padding: 7px 20px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 7px; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.btn-cancel-small:hover[b-mm6wfd7uo9] { background: var(--hover-bg); }

/* 단계 미니 차트 */
.phase-row[b-mm6wfd7uo9] { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.phase-name-wrap[b-mm6wfd7uo9] { display: flex; align-items: center; gap: 6px; min-width: 160px; }
.phase-name[b-mm6wfd7uo9] { font-size: 12.5px; font-weight: 600; color: var(--text-primary); }
.phase-status[b-mm6wfd7uo9] { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 10.5px; font-weight: 600; }
.phase-done[b-mm6wfd7uo9]   { background: #e8f5e9; color: #2e7d32; }
.phase-active[b-mm6wfd7uo9] { background: #e3f2fd; color: #1565c0; }
.phase-delay[b-mm6wfd7uo9]  { background: #fce4ec; color: #c62828; }
.phase-wait[b-mm6wfd7uo9]   { background: var(--bg-main); color: var(--text-muted); }

.phase-bar-wrap[b-mm6wfd7uo9] { flex: 1; height: 8px; background: var(--border-color); border-radius: 4px; overflow: hidden; }
.phase-fill[b-mm6wfd7uo9] { height: 100%; background: linear-gradient(135deg,#667eea,#764ba2); border-radius: 4px; transition: width 0.3s; }
.phase-pct[b-mm6wfd7uo9] { font-size: 11.5px; font-weight: 600; color: var(--text-muted); min-width: 35px; text-align: right; }

/* ===== 공통 테이블 ===== */
.mgmt-table-wrap[b-mm6wfd7uo9] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-mm6wfd7uo9] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-mm6wfd7uo9] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-mm6wfd7uo9] {
    padding: 10px 12px; font-size: 11px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-mm6wfd7uo9] { padding: 9px 12px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover[b-mm6wfd7uo9] { background: var(--hover-bg); }

.progress-cell[b-mm6wfd7uo9] { display: flex; align-items: center; gap: 8px; min-width: 100px; }
.progress-text[b-mm6wfd7uo9] { font-size: 11.5px; font-weight: 600; color: var(--text-muted); }

/* 역할 배지 */
.role-badge[b-mm6wfd7uo9] {
    display: inline-block; padding: 2px 8px; border-radius: 20px;
    background: var(--accent-soft); color: var(--accent);
    font-size: 11.5px; font-weight: 600;
}

/* 이슈 번호 / 제목 */
.issue-no[b-mm6wfd7uo9] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.issue-title[b-mm6wfd7uo9] { color: var(--accent); font-weight: 500; }
.issue-title:hover[b-mm6wfd7uo9] { text-decoration: underline; }

/* 우선순위 배지 */
.priority-badge[b-mm6wfd7uo9] { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.priority-긴급[b-mm6wfd7uo9] { background: #fce4ec; color: #c62828; }
.priority-높음[b-mm6wfd7uo9] { background: #fff3e0; color: #e65100; }
.priority-보통[b-mm6wfd7uo9] { background: #e3f2fd; color: #1565c0; }
.priority-낮음[b-mm6wfd7uo9] { background: var(--bg-main); color: var(--text-muted); }

/* 이슈 상태 */
.issue-status[b-mm6wfd7uo9] { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.issue-open[b-mm6wfd7uo9]   { background: #fce4ec; color: #c62828; }
.issue-wip[b-mm6wfd7uo9]    { background: #e3f2fd; color: #1565c0; }
.issue-closed[b-mm6wfd7uo9] { background: #e8f5e9; color: #2e7d32; }
.issue-hold[b-mm6wfd7uo9]   { background: #fff8e1; color: #e65100; }

/* CR 상태 */
.cr-status[b-mm6wfd7uo9]   { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.cr-approved[b-mm6wfd7uo9] { background: #e8f5e9; color: #2e7d32; }
.cr-rejected[b-mm6wfd7uo9] { background: #fce4ec; color: #c62828; }
.cr-review[b-mm6wfd7uo9]   { background: #e3f2fd; color: #1565c0; }
.cr-hold[b-mm6wfd7uo9]     { background: #fff8e1; color: #e65100; }

/* 고객승인 체크 */
.check-yes[b-mm6wfd7uo9] { color: #2e7d32; font-size: 16px; }
.check-no[b-mm6wfd7uo9]  { color: var(--border-color); font-size: 16px; }

/* 참석자 셀 (말줄임) */
.attendees-cell[b-mm6wfd7uo9] { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.desc-truncate[b-mm6wfd7uo9]  { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 문서 아이콘 */
.doc-icon[b-mm6wfd7uo9] { color: var(--accent); }

/* 액션 버튼 */
.action-btns[b-mm6wfd7uo9] { display: flex; gap: 4px; }
.btn-action[b-mm6wfd7uo9] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: all 0.15s;
}
.btn-action:hover[b-mm6wfd7uo9] { border-color: var(--text-muted); }
.btn-detail[b-mm6wfd7uo9] { color: var(--accent); }
.btn-detail:hover[b-mm6wfd7uo9] { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-warn[b-mm6wfd7uo9] { color: #e65100; }
.btn-warn:hover[b-mm6wfd7uo9] { background: #e65100; color: #fff; border-color: #e65100; }

/* 인라인 편집 행 */
.edit-row-cell[b-mm6wfd7uo9] { padding: 14px 16px; background: var(--accent-soft); }
.inline-edit-grid[b-mm6wfd7uo9] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }

/* ===== 모달 ===== */
.modal-overlay[b-mm6wfd7uo9] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-mm6wfd7uo9 0.2s;
}
.modal-panel[b-mm6wfd7uo9] {
    background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw;
    max-height: 85vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-mm6wfd7uo9 0.25s ease;
    color: var(--text-primary);
}
.modal-panel.modal-sm[b-mm6wfd7uo9]    { width: 460px; }
.modal-panel.meeting-modal[b-mm6wfd7uo9] { width: 740px; }
@keyframes fadeIn-b-mm6wfd7uo9  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-mm6wfd7uo9 { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-mm6wfd7uo9] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-mm6wfd7uo9] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-mm6wfd7uo9] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-mm6wfd7uo9] { color: var(--text-secondary); }

.modal-body-content[b-mm6wfd7uo9] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.field-grid[b-mm6wfd7uo9] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.field-item.full-span[b-mm6wfd7uo9] { grid-column: span 2; }

.modal-foot[b-mm6wfd7uo9] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-mm6wfd7uo9] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover:not(:disabled)[b-mm6wfd7uo9] { opacity: 0.9; }
.btn-modal-save:disabled[b-mm6wfd7uo9] { opacity: 0.6; cursor: not-allowed; }
.btn-modal-cancel[b-mm6wfd7uo9] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-mm6wfd7uo9] { background: var(--hover-bg); }

/* ===== 파일 업로드 영역 ===== */
.upload-drop-zone[b-mm6wfd7uo9] {
    border: 2px dashed var(--border-color); border-radius: 10px;
    margin-bottom: 16px; transition: border-color 0.2s, background 0.2s;
    background: var(--bg-main); position: relative;
}
.upload-drop-zone.has-file[b-mm6wfd7uo9] {
    border-color: var(--accent); background: var(--accent-soft);
}
/* 드래그 중 시각 피드백 */
.upload-drop-zone.drag-over[b-mm6wfd7uo9] {
    border-color: var(--accent); background: var(--accent-soft);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}
/* InputFile은 display:none — 클릭은 label[for], 드롭은 JS initFileDropZone 처리 */
.upload-file-input-hidden[b-mm6wfd7uo9] {
    display: none;
}
/* label이 클릭 가능한 드롭존 비주얼 역할 */
.upload-file-label[b-mm6wfd7uo9] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 28px 20px; text-align: center; gap: 6px;
    cursor: pointer;
}
.upload-icon[b-mm6wfd7uo9] { font-size: 32px; color: var(--accent); }
.upload-filename[b-mm6wfd7uo9] { font-size: 14px; font-weight: 600; color: var(--text-primary); word-break: break-all; }
.upload-filesize[b-mm6wfd7uo9] { font-size: 12px; color: var(--text-muted); }
.upload-hint[b-mm6wfd7uo9] { font-size: 13px; color: var(--text-muted); font-weight: 500; }
.upload-hint-sub[b-mm6wfd7uo9] { font-size: 11.5px; color: var(--text-muted); opacity: 0.7; }
.upload-error[b-mm6wfd7uo9] { color: #c62828; font-size: 12.5px; margin-top: 8px; }

/* ===== WBS 테이블 ===== */
/*
   배경: 라이트/다크 테마 공용 var(--bg-surface/main) 사용
   레벨 구분: 배지 색상 + 볼드/인덴트로 처리
   간트 바: 선명한 3색 (accent/파랑/청록) 유지
*/

.wbs-table-wrap[b-mm6wfd7uo9] {
    overflow-x: auto; border-radius: 10px;
    border: 1px solid var(--border-color); margin-bottom: 12px;
}
.wbs-table[b-mm6wfd7uo9] {
    width: 100%; border-collapse: collapse; font-size: 12.5px;
    white-space: nowrap; background: var(--bg-surface);
}
.wbs-table thead th[b-mm6wfd7uo9] {
    background: var(--accent); color: #fff;
    font-weight: 600; padding: 8px 10px;
    border-bottom: 2px solid rgba(0,0,0,0.2);
    border-right: 1px solid rgba(255,255,255,0.2);
    position: sticky; top: 0; z-index: 2;
}

/* 다크 테마: WBS 테이블 헤더 텍스트 명확하게 흰색 */
[data-theme="dark"] .wbs-table thead th[b-mm6wfd7uo9] {
    background: #667eea !important;
    color: #ffffff !important;
    border-bottom-color: rgba(0,0,0,0.3) !important;
}

/* 다크 테마: WBS 인쇄 헤더 제목 흰색 */
[data-theme="dark"] .wbs-print-doc-title[b-mm6wfd7uo9] {
    color: #ffffff !important;
    background: linear-gradient(135deg, #1a237e, #283593 60%, #3949ab) !important;
}

/* 다크 테마: 페인 제목들 흰색 */
[data-theme="dark"] .pane-title[b-mm6wfd7uo9] {
    color: #ffffff !important;
}

/* 다크 테마: WBS 페인 헤더 */
[data-theme="dark"] .wbs-table-wrap[b-mm6wfd7uo9] {
    background-color: #ffffff !important;
}
.wbs-table tbody tr[b-mm6wfd7uo9] { border-bottom: 1px solid var(--border-color-light); }
.wbs-table tbody tr:hover[b-mm6wfd7uo9] { background: var(--hover-bg) !important; }
.wbs-table tbody td[b-mm6wfd7uo9] {
    padding: 7px 10px; border-right: 1px solid var(--border-color-light);
    vertical-align: middle; color: var(--text-primary);
}

/* ── Lv0: 살짝 구분되는 배경 (프로젝트 헤더 행) ── */
.wbs-row.wbs-lv0[b-mm6wfd7uo9] { background: var(--bg-main); }
.wbs-row.wbs-lv0 td[b-mm6wfd7uo9] { font-weight: 700; }

/* ── Lv1: 기본 배경 (단계) ── */
.wbs-row.wbs-lv1[b-mm6wfd7uo9] { background: var(--bg-surface); }
.wbs-row.wbs-lv1 td[b-mm6wfd7uo9] { font-weight: 600; }

/* ── Lv2: 기본 배경 (산출물) ── */
.wbs-row.wbs-lv2[b-mm6wfd7uo9] { background: var(--bg-surface); }
.wbs-row.wbs-lv2 td[b-mm6wfd7uo9] { color: var(--text-secondary); }

/* WBS 레벨 배지 — 색상으로 레벨 구분 */
.wbs-level-badge[b-mm6wfd7uo9] {
    display: inline-block; width: 22px; height: 22px; border-radius: 50%;
    font-size: 11px; font-weight: 700; text-align: center; line-height: 22px; color: #fff;
}
.wbs-level-badge.lv0[b-mm6wfd7uo9] { background: var(--accent); }
.wbs-level-badge.lv1[b-mm6wfd7uo9] { background: #42a5f5; }
.wbs-level-badge.lv2[b-mm6wfd7uo9] { background: #26a69a; }

/* WBS 이름 셀 */
.wbs-name-cell[b-mm6wfd7uo9] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wbs-name-text[b-mm6wfd7uo9] { white-space: nowrap; }
.wbs-assignee[b-mm6wfd7uo9] { font-size: 12px; color: var(--text-muted); }

/* WBS 진척률 바 (행 내부) */
.wbs-progress-bar[b-mm6wfd7uo9] {
    height: 4px; background: var(--border-color); border-radius: 2px;
    margin-top: 4px; overflow: hidden; min-width: 60px;
}
.wbs-progress-fill[b-mm6wfd7uo9] { height: 100%; border-radius: 2px; transition: width 0.4s ease; }
.wbs-progress-fill.lv0[b-mm6wfd7uo9] { background: var(--accent); }
.wbs-progress-fill.lv1[b-mm6wfd7uo9] { background: #42a5f5; }
.wbs-progress-fill.lv2[b-mm6wfd7uo9] { background: #26a69a; }

/* ── 간트 차트 ── */
.gantt-week-head[b-mm6wfd7uo9] {
    text-align: center; padding: 4px 2px !important; font-size: 9px;
    background: rgba(0,0,0,0.18); color: rgba(255,255,255,0.9);
}
.gantt-wk-label[b-mm6wfd7uo9] { font-weight: 700; font-size: 9px; line-height: 1.2; }
.gantt-wk-date[b-mm6wfd7uo9]  { font-size: 7.5px; opacity: 0.75; line-height: 1; }
.gantt-cell[b-mm6wfd7uo9] {
    padding: 0 !important; height: 32px; position: relative;
    border-right: 1px solid var(--border-color-light) !important;
}
/* 간트 바: 셀 내부 div — 부분 주 커버 정확 표시 (left/width 인라인 스타일로 제어) */
.gantt-bar[b-mm6wfd7uo9] { position: absolute; top: 2px; height: calc(100% - 4px); border-radius: 3px; }
/* 상태 기반 색상 */
.gantt-bar.gantt-plan[b-mm6wfd7uo9]  { background: #90a4ae; }           /* 계획/대기 — 블루그레이 */
.gantt-bar.gantt-doing[b-mm6wfd7uo9] { background: #42a5f5; }           /* 진행중 — 파랑 */
.gantt-bar.gantt-done[b-mm6wfd7uo9]  { background: #66bb6a; }           /* 완료 — 연두 */
.gantt-bar.gantt-delay[b-mm6wfd7uo9] { background: #ef5350; }           /* 지연/기한초과 — 빨강 */
.gantt-progress-overlay[b-mm6wfd7uo9] {
    position: absolute; top: 2px; height: calc(100% - 4px);
    background: rgba(0,0,0,0.25); border-radius: 3px;
}

/* 계획 바 (실제 바가 있는 단계 행에서 가늘게 표시) */
.gantt-bar-plan[b-mm6wfd7uo9] {
    position: absolute;
    height: 4px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 2px;
    background: #b0bec5;
    opacity: 0.75;
}

/* WBS 범례 */
.wbs-legend[b-mm6wfd7uo9] {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    padding: 8px 14px; background: var(--bg-surface);
    border-radius: 8px; border: 1px solid var(--border-color);
    font-size: 11.5px;
}
.legend-item[b-mm6wfd7uo9] { display: flex; align-items: center; gap: 5px; }
.legend-dot[b-mm6wfd7uo9] { width: 13px; height: 13px; border-radius: 3px; display: inline-block; }
.legend-dot.gantt-plan[b-mm6wfd7uo9]  { background: #90a4ae; }
.legend-dot.gantt-doing[b-mm6wfd7uo9] { background: #42a5f5; }
.legend-dot.gantt-done[b-mm6wfd7uo9]  { background: #66bb6a; }
.legend-dot.gantt-delay[b-mm6wfd7uo9] { background: #ef5350; }
.legend-label[b-mm6wfd7uo9] { color: var(--text-muted); font-weight: 500; }

/* 범례: 계획 얇은 선 아이콘 */
.legend-plan-thin[b-mm6wfd7uo9] {
    display: inline-block; width: 20px; height: 4px;
    border-radius: 2px; background: #b0bec5; vertical-align: middle;
}
/* 범례 노트 텍스트 */
.legend-note[b-mm6wfd7uo9] {
    font-size: 10.5px; color: var(--text-muted); font-style: italic; margin-left: 4px;
}

/* ===== WBS 인쇄 스타일 ===== */
.wbs-print-paper[b-mm6wfd7uo9] { padding: 22px 26px; overflow-x: auto; }

.wbs-print-doc-title[b-mm6wfd7uo9] {
    font-size: 15px;
    font-weight: 800;
    color: #fff !important;
    background: linear-gradient(135deg, #1a237e, #283593 60%, #3949ab);
    padding: 10px 16px;
    border-radius: 6px 6px 0 0;
    margin-bottom: 0;
    letter-spacing: 0.3px;
}
.wbs-print-meta[b-mm6wfd7uo9] {
    display: flex; flex-direction: column; gap: 3px;
    font-size: 10px; color: #333; margin-bottom: 8px;
    padding: 7px 12px; background: #f0f3ff;
    border: 1px solid #c5cae9; border-top: none; border-radius: 0 0 5px 5px;
}
.wbs-print-meta-row[b-mm6wfd7uo9] { display: flex; gap: 16px; flex-wrap: wrap; }
.wbs-print-progress-info[b-mm6wfd7uo9] {
    display: flex; gap: 16px; flex-wrap: wrap; font-weight: 700; color: #1a237e;
    margin-top: 2px; border-top: 1px dashed #c5cae9; padding-top: 3px;
}
.wbs-print-phase-assignees[b-mm6wfd7uo9] {
    font-weight: 400; color: #37474f; flex: 1 1 100%;
}

/* 인쇄 범례 */
.wbs-print-legend[b-mm6wfd7uo9] {
    display: flex; gap: 5px; flex-wrap: wrap; align-items: center;
    margin-bottom: 7px; padding: 4px 8px;
    background: #fafafa; border: 1px solid #e0e0e0; border-radius: 4px;
}
.wbs-print-legend-item[b-mm6wfd7uo9] {
    padding: 2px 8px; border-radius: 3px; font-weight: 700;
    font-size: 8px; color: #fff; letter-spacing: 0.2px;
}
.wbs-print-legend-item.gantt-plan-leg[b-mm6wfd7uo9]  { background: #90a4ae; color: #fff; }
.wbs-print-legend-item.gantt-doing-leg[b-mm6wfd7uo9] { background: #42a5f5; color: #fff; }
.wbs-print-legend-item.gantt-done-leg[b-mm6wfd7uo9]  { background: #66bb6a; color: #fff; }
.wbs-print-legend-item.gantt-delay-leg[b-mm6wfd7uo9] { background: #ef5350; color: #fff; }
/* 계획 범례 아이템 — 얇은 선 스타일 */
.wbs-print-legend-item.wbs-print-legend-plan[b-mm6wfd7uo9] {
    background: transparent; color: #607d8b; border: 1.5px solid #b0bec5;
    display: inline-flex; align-items: center; gap: 4px;
}
.wbs-print-legend-item.wbs-print-legend-plan[b-mm6wfd7uo9]::before {
    content: ''; display: inline-block; width: 16px; height: 2px;
    background: #b0bec5; border-radius: 1px; flex-shrink: 0;
}
.wbs-print-legend-note[b-mm6wfd7uo9] {
    font-size: 7.5px; color: #777; font-style: italic; margin-left: 4px;
}

/* 인쇄 테이블 */
.wbs-print-table[b-mm6wfd7uo9] {
    width: 100%; border-collapse: collapse; font-size: 8.5px;
    table-layout: auto;
}
.wbs-print-table th[b-mm6wfd7uo9], .wbs-print-table td[b-mm6wfd7uo9] {
    border: 1px solid #cfd8dc; padding: 3px 5px; vertical-align: middle;
    /* 기본은 줄바꿈 허용 — 간트 주간 열만 아래에서 nowrap 덮어씀 */
    white-space: normal;
}

/* 인쇄 테이블 헤더 — 진한 배경으로 명확히 구분 */
.wbs-print-table thead th[b-mm6wfd7uo9] {
    background: #283593; color: #fff;
    font-weight: 700; text-align: center; font-size: 7.5px;
}
/* 날짜/기타 열은 줄바꿈 허용 (간트 주간 열만 nowrap 유지) */
.wbs-print-table thead th:not(.gantt-week-head)[b-mm6wfd7uo9] {
    white-space: normal; word-break: keep-all; line-height: 1.3;
}

/* 간트 헤더 행(2번째 행) — 살짝 더 어둡게 */
.wbs-print-table thead tr:last-child th[b-mm6wfd7uo9] {
    background: #1a237e; font-size: 6.5px;
}
/* 간트 주간 열: 최소 너비 고정, 줄바꿈 금지 */
.wbs-print-table .gantt-week-head[b-mm6wfd7uo9] {
    white-space: nowrap; min-width: 14px; width: 14px;
}

/* 작업분류 열 — 글자가 반드시 전부 보여야 함 (줄바꿈 허용) */
.wbs-print-name-cell[b-mm6wfd7uo9] {
    white-space: normal; word-break: keep-all; overflow: visible;
    font-weight: 500; line-height: 1.35;
}

/* 기타 작은 텍스트 셀 */
.wbs-print-sm[b-mm6wfd7uo9] { font-size: 8px; }

/* 실제 날짜 셀 — 진한 텍스트로 강조 */
.wbs-print-actual[b-mm6wfd7uo9] { color: #1565c0; font-weight: 600; }
/* 빈 실제 날짜 셀 */
.wbs-print-empty[b-mm6wfd7uo9] { color: #bbb; }

/* 진척률 셀 */
.wbs-print-progress-cell[b-mm6wfd7uo9] { white-space: nowrap; }
.print-pct-done[b-mm6wfd7uo9]  { color: #2e7d32; font-weight: 700; }
.print-pct-doing[b-mm6wfd7uo9] { color: #1565c0; font-weight: 600; }

/* 상태 배지 (인쇄) */
.wbs-print-status-badge[b-mm6wfd7uo9] {
    display: inline-block; padding: 1px 5px; border-radius: 3px;
    font-size: 7.5px; font-weight: 700;
}
.badge-green[b-mm6wfd7uo9] { background: #e8f5e9; color: #2e7d32; }
.badge-blue[b-mm6wfd7uo9]  { background: #e3f2fd; color: #1565c0; }
.badge-red[b-mm6wfd7uo9]   { background: #fce4ec; color: #c62828; }
.badge-gray[b-mm6wfd7uo9]  { background: #f5f5f5; color: #757575; }

/* 행 레벨 배경 — 인쇄에서도 레벨 구분 */
.wbs-print-row.lv0[b-mm6wfd7uo9] { background: #e8eaf6; }
.wbs-print-row.lv0 td[b-mm6wfd7uo9] { font-weight: 700; color: #1a237e; }
.wbs-print-row.lv1[b-mm6wfd7uo9] { background: #f8f9ff; }
.wbs-print-row.lv1 td[b-mm6wfd7uo9] { font-weight: 600; color: #1e293b; }
.wbs-print-row.lv2[b-mm6wfd7uo9] { background: #ffffff; }
.wbs-print-row.lv2 td[b-mm6wfd7uo9] { color: #475569; }

/* 레벨 배지 (인쇄용) */
.wbs-print-lv-badge[b-mm6wfd7uo9] {
    display: inline-block; width: 15px; height: 15px; border-radius: 50%;
    font-size: 8px; font-weight: 700; text-align: center; line-height: 15px; color: #fff;
}
.wbs-print-lv-badge.lv0[b-mm6wfd7uo9] { background: #283593; }
.wbs-print-lv-badge.lv1[b-mm6wfd7uo9] { background: #0277bd; }
.wbs-print-lv-badge.lv2[b-mm6wfd7uo9] { background: #00796b; }

/* 간트 인쇄 셀 */
.gantt-print-cell[b-mm6wfd7uo9] { padding: 0 !important; height: 18px; position: relative; }
/* 실제 바 */
.gantt-print-bar[b-mm6wfd7uo9] { position: absolute; top: 1px; height: calc(100% - 2px); border-radius: 2px; }
.gantt-print-bar.gantt-plan[b-mm6wfd7uo9]  { background: #90a4ae; }
.gantt-print-bar.gantt-doing[b-mm6wfd7uo9] { background: #42a5f5; }
.gantt-print-bar.gantt-done[b-mm6wfd7uo9]  { background: #66bb6a; }
.gantt-print-bar.gantt-delay[b-mm6wfd7uo9] { background: #ef5350; }
/* 계획 바 (실제 바 있을 때 가늘게) */
.gantt-print-bar-plan[b-mm6wfd7uo9] {
    position: absolute;
    height: 3px; top: 50%; transform: translateY(-50%);
    border-radius: 1px; background: #b0bec5; opacity: 0.8;
}
.gantt-print-progress[b-mm6wfd7uo9] {
    position: absolute; top: 1px; height: calc(100% - 2px);
    background: rgba(0,0,0,0.25); border-radius: 2px;
}

.wbs-print-footer[b-mm6wfd7uo9] {
    margin-top: 10px; text-align: center; font-size: 8.5px; color: #888;
    border-top: 2px solid #c5cae9; padding-top: 5px;
    display: flex; justify-content: space-between; align-items: center;
}

/* ── 인쇄: B4 가로 + 여백 최소화 ── */
@media print {
    @page { size: auto; margin: 6mm; }
    .wbs-print-paper[b-mm6wfd7uo9] {
        width: auto !important; max-width: none !important; min-width: 0 !important;
        padding: 0 !important; overflow: visible !important;
        box-shadow: none !important;
    }
    .wbs-print-table[b-mm6wfd7uo9] {
        font-size: 7px !important;
        width: auto !important; table-layout: auto !important;
    }
    .wbs-print-table th[b-mm6wfd7uo9],
    .wbs-print-table td[b-mm6wfd7uo9] { padding: 2px 3px !important; }
    .wbs-print-table thead th:not(.gantt-week-head)[b-mm6wfd7uo9] {
        white-space: normal !important; word-break: keep-all !important;
    }
    .wbs-print-meta[b-mm6wfd7uo9] { font-size: 8.5px !important; }
    .wbs-print-doc-title[b-mm6wfd7uo9] { font-size: 12px !important; }
    .wbs-print-legend[b-mm6wfd7uo9] { margin-bottom: 5px !important; }
}

/* ===== 인쇄 미리보기 오버레이 ===== */
.print-overlay[b-mm6wfd7uo9], .status-print-overlay[b-mm6wfd7uo9] {
    position: fixed; inset: 0; background: #e8e8e8;
    z-index: 9999; overflow-y: auto;
}
.print-toolbar[b-mm6wfd7uo9] {
    position: sticky; top: 0; background: #1a1a2e; color: #fff;
    padding: 12px 28px; display: flex; justify-content: space-between;
    align-items: center; z-index: 1; gap: 16px;
}
.print-title-bar[b-mm6wfd7uo9] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-mm6wfd7uo9] { display: flex; gap: 8px; }
.btn-do-print[b-mm6wfd7uo9] {
    padding: 8px 20px; background: #217346; color: #fff;
    border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: inline-flex; align-items: center;
}
.btn-do-print:hover[b-mm6wfd7uo9] { opacity: 0.9; }
.btn-do-pdf[b-mm6wfd7uo9] {
    padding: 8px 20px; background: #c62828; color: #fff;
    border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: inline-flex; align-items: center;
}
.btn-do-pdf:hover[b-mm6wfd7uo9] { opacity: 0.9; }
.btn-close-print[b-mm6wfd7uo9] {
    padding: 8px 20px; background: transparent; color: #fff;
    border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: inline-flex; align-items: center;
}
.btn-close-print:hover[b-mm6wfd7uo9] { background: rgba(255,255,255,0.1); }

/* 인쇄 용지 */
.print-paper[b-mm6wfd7uo9] {
    max-width: 900px; margin: 28px auto 60px; background: #fff;
    padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12);
    color: #111; font-size: 13px; line-height: 1.6;
}
.rpt-header[b-mm6wfd7uo9] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-mm6wfd7uo9] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-mm6wfd7uo9] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-mm6wfd7uo9] { font-size: 12px; color: #666; }
.rpt-section[b-mm6wfd7uo9] { margin-bottom: 32px; }
.rpt-section-title[b-mm6wfd7uo9] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-mm6wfd7uo9] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-mm6wfd7uo9], .rpt-table th[b-mm6wfd7uo9] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-mm6wfd7uo9] { background: #f0f0f0; font-weight: 600; white-space: nowrap; width: 100px; }
.rpt-data-table thead[b-mm6wfd7uo9] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-mm6wfd7uo9] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-mm6wfd7uo9] { background: #f8f8f8; }
.rpt-manhour-summary[b-mm6wfd7uo9] { font-size: 12.5px; margin-bottom: 10px; }
.rpt-mh-person[b-mm6wfd7uo9] { display: inline-block; margin: 0 6px; background: #eee; padding: 2px 8px; border-radius: 10px; }
.rpt-footer[b-mm6wfd7uo9] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }

/* ===== @media print ===== */
@@media print {
    .no-print[b-mm6wfd7uo9] { display: none !important; }
    .print-overlay[b-mm6wfd7uo9] { position: static; background: #fff; }
    .print-paper[b-mm6wfd7uo9] {
        max-width: none; margin: 0; padding: 15mm; box-shadow: none; border-radius: 0;
    }
    /* 인쇄 시 나머지 페이지 숨기기 */
    body > blazor-ssr[b-mm6wfd7uo9],
    .sidebar[b-mm6wfd7uo9], .main-area[b-mm6wfd7uo9] { display: none !important; }
}

/* ===== 반응형 ===== */
@media (max-width: 1100px) {
    .overview-grid[b-mm6wfd7uo9] { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .mgmt-table-wrap[b-mm6wfd7uo9] { overflow-x: auto; }
    .mgmt-table[b-mm6wfd7uo9] { min-width: 700px; }
    .inline-edit-grid[b-mm6wfd7uo9] { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .detail-page[b-mm6wfd7uo9] { padding: 12px 16px; }
    .project-header[b-mm6wfd7uo9] { flex-direction: column; gap: 12px; }
    .project-title[b-mm6wfd7uo9] { font-size: 16px; }
    .tab-nav[b-mm6wfd7uo9] { gap: 0; }
    .tab-btn[b-mm6wfd7uo9] { padding: 8px 12px; font-size: 12px; }
    .progress-display[b-mm6wfd7uo9] { min-width: 100%; }
    .field-grid[b-mm6wfd7uo9] { grid-template-columns: 1fr; }
    .field-grid-2[b-mm6wfd7uo9] { grid-template-columns: 1fr; }
    .field-item.full-span[b-mm6wfd7uo9] { grid-column: span 1; }
    .info-dl[b-mm6wfd7uo9] { grid-template-columns: 100px 1fr; }
}

@media (max-width: 480px) {
    .detail-page[b-mm6wfd7uo9] { padding: 8px 12px; }
    .modal-panel[b-mm6wfd7uo9], .modal-panel.modal-sm[b-mm6wfd7uo9], .modal-panel.meeting-modal[b-mm6wfd7uo9] {
        width: 95vw; max-width: none; max-height: 95vh;
    }
    .modal-head[b-mm6wfd7uo9] { padding: 12px 16px; }
    .modal-head h5[b-mm6wfd7uo9] { font-size: 14px; }
    .modal-body-content[b-mm6wfd7uo9] { padding: 12px 16px; }
    .modal-foot[b-mm6wfd7uo9] { padding: 10px 16px; }
    .btn-modal-save[b-mm6wfd7uo9], .btn-modal-cancel[b-mm6wfd7uo9] { padding: 8px 12px; font-size: 12px; flex: 1; }
    .inline-edit-grid[b-mm6wfd7uo9] { grid-template-columns: 1fr; }
}
/* Project detail tab table alignment */
#projectMemberTable th[b-mm6wfd7uo9],
#projectMemberTable td[b-mm6wfd7uo9],
#projectManhourTable th[b-mm6wfd7uo9],
#projectManhourTable td[b-mm6wfd7uo9] {
    text-align: center;
}

#projectPhaseTable th[b-mm6wfd7uo9],
#projectPhaseTable td[b-mm6wfd7uo9],
#projectDeliverableTable th[b-mm6wfd7uo9],
#projectDeliverableTable td[b-mm6wfd7uo9] {
    text-align: center;
}

#projectPhaseTable th:first-child[b-mm6wfd7uo9],
#projectPhaseTable td:first-child[b-mm6wfd7uo9],
#projectDeliverableTable th:first-child[b-mm6wfd7uo9],
#projectDeliverableTable td:first-child[b-mm6wfd7uo9] {
    text-align: left;
}

#projectIssueTable th[b-mm6wfd7uo9],
#projectIssueTable td[b-mm6wfd7uo9],
#projectChangeTable th[b-mm6wfd7uo9],
#projectChangeTable td[b-mm6wfd7uo9],
#projectMeetingTable th[b-mm6wfd7uo9],
#projectMeetingTable td[b-mm6wfd7uo9],
#projectDocumentTable th[b-mm6wfd7uo9],
#projectDocumentTable td[b-mm6wfd7uo9] {
    text-align: center;
}

#projectIssueTable th:nth-child(2)[b-mm6wfd7uo9],
#projectIssueTable td:nth-child(2)[b-mm6wfd7uo9],
#projectChangeTable th:nth-child(2)[b-mm6wfd7uo9],
#projectChangeTable td:nth-child(2)[b-mm6wfd7uo9],
#projectMeetingTable th:first-child[b-mm6wfd7uo9],
#projectMeetingTable td:first-child[b-mm6wfd7uo9],
#projectDocumentTable th:first-child[b-mm6wfd7uo9],
#projectDocumentTable td:first-child[b-mm6wfd7uo9] {
    text-align: left;
}

/* /Components/Pages/Project/ProjectList.razor.rz.scp.css */
/* ===== 공통 레이아웃 (NoticeManagement 패턴) ===== */
.mgmt-page[b-55kb7qdo2b] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-55kb7qdo2b] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-55kb7qdo2b 0.3s ease;
}
.toast-success[b-55kb7qdo2b] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-55kb7qdo2b]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-55kb7qdo2b { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-55kb7qdo2b] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-55kb7qdo2b] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-55kb7qdo2b] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-55kb7qdo2b] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-excel[b-55kb7qdo2b] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-55kb7qdo2b] { opacity: 0.9; }
.btn-print[b-55kb7qdo2b] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-55kb7qdo2b] { opacity: 0.9; }

.search-input[b-55kb7qdo2b] {
    width: 200px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.filter-select[b-55kb7qdo2b] {
    width: 130px; font-size: 13px; padding: 7px 10px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.btn-add[b-55kb7qdo2b] {
    padding: 8px 20px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover[b-55kb7qdo2b] { opacity: 0.9; }

/* ===== 요약 스트립 ===== */
.summary-strip[b-55kb7qdo2b] {
    display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap;
}
.strip-card[b-55kb7qdo2b] {
    flex: 1; min-width: 100px;
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 10px; padding: 12px 16px;
    display: flex; flex-direction: column; gap: 4px;
}
.strip-label[b-55kb7qdo2b] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.strip-value[b-55kb7qdo2b] { font-size: 22px; font-weight: 700; color: var(--text-primary); }
.strip-progress .strip-value[b-55kb7qdo2b] { color: #1976d2; }
.strip-delay .strip-value[b-55kb7qdo2b]    { color: #d32f2f; }
.strip-done .strip-value[b-55kb7qdo2b]     { color: #2e7d32; }
.strip-issue .strip-value[b-55kb7qdo2b]    { color: #e65100; }

/* ===== 테이블 ===== */
.mgmt-table-wrap[b-55kb7qdo2b] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-55kb7qdo2b] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-55kb7qdo2b] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-55kb7qdo2b] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-55kb7qdo2b] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
#projectListTable th[b-55kb7qdo2b],
#projectListTable td[b-55kb7qdo2b] { text-align: center; }
#projectListTable td:nth-child(2)[b-55kb7qdo2b],
#projectListTable td:nth-child(3)[b-55kb7qdo2b] { text-align: left; }
#projectListTable .project-name-cell[b-55kb7qdo2b] { justify-content: flex-start; }
#projectListTable .progress-cell[b-55kb7qdo2b] { margin: 0 auto; }
#projectListTable .action-btns[b-55kb7qdo2b] { justify-content: center; }
.project-row[b-55kb7qdo2b] { cursor: pointer; }
.project-row:hover td[b-55kb7qdo2b] { background: var(--hover-bg); }

/* 프로젝트명 셀 */
.project-name-cell[b-55kb7qdo2b] { display: flex; align-items: center; gap: 8px; }
.project-name[b-55kb7qdo2b] { font-weight: 600; color: var(--text-primary); }
.issue-badge[b-55kb7qdo2b] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 18px; height: 18px; padding: 0 5px;
    background: #d32f2f; color: #fff;
    border-radius: 10px; font-size: 10px; font-weight: 700;
}

/* 유형 배지 */
.type-badge[b-55kb7qdo2b] {
    display: inline-block; padding: 3px 10px; border-radius: 20px;
    font-size: 11.5px; font-weight: 600;
}
.type-si[b-55kb7qdo2b]          { background: #e3f2fd; color: #1565c0; }
.type-sm[b-55kb7qdo2b]          { background: #f3e5f5; color: #6a1b9a; }
.type-컨설팅[b-55kb7qdo2b]      { background: #fff8e1; color: #e65100; }
.type-자체개발[b-55kb7qdo2b]    { background: #e8f5e9; color: #2e7d32; }

/* 진행률 */
.progress-cell[b-55kb7qdo2b] { display: flex; align-items: center; gap: 8px; min-width: 120px; }
.progress-bar-wrap[b-55kb7qdo2b] {
    flex: 1; height: 6px; background: var(--border-color);
    border-radius: 3px; overflow: hidden;
}
.progress-fill[b-55kb7qdo2b] { height: 100%; border-radius: 3px; transition: width 0.3s; }
.fill-high[b-55kb7qdo2b] { background: #2e7d32; }
.fill-mid[b-55kb7qdo2b]  { background: #1976d2; }
.fill-low[b-55kb7qdo2b]  { background: #e65100; }
.progress-text[b-55kb7qdo2b] { font-size: 11.5px; font-weight: 600; color: var(--text-muted); white-space: nowrap; }

/* 이슈 카운트 */
.issue-count-badge[b-55kb7qdo2b] {
    display: inline-block; padding: 2px 8px; border-radius: 20px;
    background: #fff3e0; color: #e65100; font-size: 11.5px; font-weight: 600;
}

/* 상태 배지 */
.status-badge[b-55kb7qdo2b] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.status-progress[b-55kb7qdo2b] { background: #e3f2fd; color: #1565c0; }
.status-delay[b-55kb7qdo2b]    { background: #fce4ec; color: #c62828; }
.status-hold[b-55kb7qdo2b]     { background: #fff8e1; color: #e65100; }
.status-done[b-55kb7qdo2b]     { background: #e8f5e9; color: #2e7d32; }
.status-default[b-55kb7qdo2b]  { background: var(--bg-main); color: var(--text-muted); }

/* 액션 버튼 */
.action-btns[b-55kb7qdo2b] { display: flex; gap: 4px; }
.btn-action[b-55kb7qdo2b] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: all 0.15s;
}
.btn-action:hover[b-55kb7qdo2b] { border-color: var(--text-muted); }
.btn-detail[b-55kb7qdo2b] { color: var(--accent); }
.btn-detail:hover[b-55kb7qdo2b] { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-warn[b-55kb7qdo2b] { color: #e65100; }
.btn-warn:hover[b-55kb7qdo2b] { background: #e65100; color: #fff; border-color: #e65100; }

/* ===== 모달 ===== */
.modal-overlay[b-55kb7qdo2b] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-55kb7qdo2b 0.2s;
}
.modal-panel[b-55kb7qdo2b] {
    background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw;
    max-height: 85vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-55kb7qdo2b 0.25s ease;
    color: var(--text-primary);
}
.modal-panel.project-modal[b-55kb7qdo2b] { width: 720px; }
.modal-panel.modal-sm[b-55kb7qdo2b]      { width: 440px; }
@keyframes fadeIn-b-55kb7qdo2b  { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-55kb7qdo2b { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-55kb7qdo2b] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-55kb7qdo2b] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-55kb7qdo2b] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-55kb7qdo2b] { color: var(--text-secondary); }

.modal-body-content[b-55kb7qdo2b] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.field-grid[b-55kb7qdo2b] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.field-item[b-55kb7qdo2b] { display: flex; flex-direction: column; gap: 5px; }
.field-item.full-span[b-55kb7qdo2b] { grid-column: span 2; }
.field-item label[b-55kb7qdo2b] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
.field-item .form-control[b-55kb7qdo2b] {
    font-size: 13px; padding: 7px 10px; border-radius: 6px;
    border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary);
}

.project-textarea[b-55kb7qdo2b] { min-height: 100px; resize: vertical; font-size: 13px; line-height: 1.6; font-family: inherit; }

.modal-foot[b-55kb7qdo2b] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-55kb7qdo2b] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover:not(:disabled)[b-55kb7qdo2b] { opacity: 0.9; }
.btn-modal-save:disabled[b-55kb7qdo2b] { opacity: 0.6; cursor: not-allowed; }
.btn-danger-save[b-55kb7qdo2b] { background: linear-gradient(135deg,#ef4444,#b91c1c); }
.btn-modal-cancel[b-55kb7qdo2b] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-55kb7qdo2b] { background: var(--hover-bg); }

/* ===== 반응형 ===== */
@media (max-width: 1024px) {
    .mgmt-table-wrap[b-55kb7qdo2b] { overflow-x: auto; }
    .mgmt-table[b-55kb7qdo2b] { min-width: 900px; }
}

@media (max-width: 768px) {
    .mgmt-page[b-55kb7qdo2b] { padding: 12px 16px; }
    .mgmt-header[b-55kb7qdo2b] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-55kb7qdo2b] { flex-direction: column; gap: 8px; }
    .search-input[b-55kb7qdo2b], .filter-select[b-55kb7qdo2b] { width: 100%; }
    .btn-add[b-55kb7qdo2b] { width: 100%; justify-content: center; }
    .summary-strip[b-55kb7qdo2b] { gap: 8px; }
    .strip-card[b-55kb7qdo2b] { min-width: 80px; padding: 10px 12px; }
    .strip-value[b-55kb7qdo2b] { font-size: 18px; }
    .field-grid[b-55kb7qdo2b] { grid-template-columns: 1fr; }
    .field-item.full-span[b-55kb7qdo2b] { grid-column: span 1; }
}

@media (max-width: 480px) {
    .mgmt-page[b-55kb7qdo2b] { padding: 8px 12px; }
    .modal-panel[b-55kb7qdo2b], .modal-panel.project-modal[b-55kb7qdo2b], .modal-panel.modal-sm[b-55kb7qdo2b] {
        width: 95vw; max-width: none; border-radius: 12px; max-height: 95vh;
    }
    .modal-head[b-55kb7qdo2b] { padding: 12px 16px; }
    .modal-head h5[b-55kb7qdo2b] { font-size: 14px; }
    .modal-body-content[b-55kb7qdo2b] { padding: 12px 16px; }
    .modal-foot[b-55kb7qdo2b] { padding: 10px 16px; gap: 6px; }
    .btn-modal-save[b-55kb7qdo2b], .btn-modal-cancel[b-55kb7qdo2b] { padding: 8px 12px; font-size: 12px; flex: 1; }
}


/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-55kb7qdo2b] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-55kb7qdo2b] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-55kb7qdo2b] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-55kb7qdo2b] { display: flex; gap: 8px; }
.btn-do-print[b-55kb7qdo2b] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-55kb7qdo2b] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-55kb7qdo2b] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-55kb7qdo2b] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-55kb7qdo2b] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-55kb7qdo2b] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-55kb7qdo2b] { font-size: 12px; color: #666; }
.rpt-section[b-55kb7qdo2b] { margin-bottom: 32px; }
.rpt-section-title[b-55kb7qdo2b] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-55kb7qdo2b] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-55kb7qdo2b], .rpt-table th[b-55kb7qdo2b] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-55kb7qdo2b] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-55kb7qdo2b] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-55kb7qdo2b] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-55kb7qdo2b] { background: #f8f8f8; }
.rpt-footer[b-55kb7qdo2b] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@media print {
    .no-print[b-55kb7qdo2b] { display: none !important; }
    .status-print-overlay[b-55kb7qdo2b] { position: static; background: #fff; }
    .print-paper[b-55kb7qdo2b] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Project/ProjectStatus.razor.rz.scp.css */
/* ===== 페이지 기본 ===== */
.status-page[b-wqxj1nfpy8] { padding: 20px 28px; color: var(--text-primary); }

.status-loading[b-wqxj1nfpy8] { text-align: center; padding: 60px; color: var(--text-muted); font-size: 15px; }
.spin[b-wqxj1nfpy8] { animation: spin-b-wqxj1nfpy8 1s linear infinite; display: inline-block; }
@keyframes spin-b-wqxj1nfpy8 { to { transform: rotate(360deg); } }

/* ===== 헤더 ===== */
.status-header[b-wqxj1nfpy8] {
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.status-header h4[b-wqxj1nfpy8] { font-size: 18px; font-weight: 700; margin: 0 0 4px; color: var(--text-primary); }
.status-header-actions[b-wqxj1nfpy8] { display: flex; gap: 10px; align-items: center; }

.btn-pane-add[b-wqxj1nfpy8] {
    padding: 8px 20px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600;
    cursor: pointer; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-pane-add:hover[b-wqxj1nfpy8] { opacity: 0.9; }
.btn-detail-action[b-wqxj1nfpy8] {
    display: inline-flex; align-items: center; padding: 8px 14px; gap: 6px;
    border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    border: none; transition: opacity 0.15s; white-space: nowrap;
}
.btn-detail-action:hover[b-wqxj1nfpy8] { opacity: 0.85; }
.btn-excel[b-wqxj1nfpy8] { background: #217346; color: #fff; }
.btn-print[b-wqxj1nfpy8] { background: #1565c0; color: #fff; }

/* ===== KPI 카드 ===== */
.kpi-grid[b-wqxj1nfpy8] {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 20px;
}
.kpi-card[b-wqxj1nfpy8] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; padding: 16px 18px; display: flex; align-items: center; gap: 14px;
    transition: box-shadow 0.2s;
}
.kpi-card:hover[b-wqxj1nfpy8] { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.kpi-card.kpi-danger[b-wqxj1nfpy8] { border-left: 4px solid #d32f2f; }
.kpi-card.kpi-success[b-wqxj1nfpy8] { border-left: 4px solid #2e7d32; }
.kpi-card.kpi-warn[b-wqxj1nfpy8] { border-left: 4px solid #e65100; }

.kpi-icon[b-wqxj1nfpy8] {
    width: 44px; height: 44px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0;
}
.kpi-all[b-wqxj1nfpy8]     { background: #e3f2fd; color: #1565c0; }
.kpi-progress[b-wqxj1nfpy8]{ background: #e3f2fd; color: #1565c0; }
.kpi-delay[b-wqxj1nfpy8]   { background: #fce4ec; color: #c62828; }
.kpi-done[b-wqxj1nfpy8]    { background: #e8f5e9; color: #2e7d32; }
.kpi-issue[b-wqxj1nfpy8]   { background: #fff3e0; color: #e65100; }
.kpi-member[b-wqxj1nfpy8]  { background: #f3e5f5; color: #6a1b9a; }

.kpi-value[b-wqxj1nfpy8] { font-size: 26px; font-weight: 700; color: var(--text-primary); line-height: 1; }
.kpi-label[b-wqxj1nfpy8] { font-size: 11.5px; color: var(--text-muted); margin-top: 4px; font-weight: 500; }

/* ===== 분포 + 납기 3분할 ===== */
.dist-row[b-wqxj1nfpy8] {
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; margin-bottom: 20px;
}
.dist-card[b-wqxj1nfpy8] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; padding: 18px 20px;
}
.dist-title[b-wqxj1nfpy8] { font-size: 13.5px; font-weight: 700; color: var(--text-primary); margin: 0 0 14px; }

.dist-item[b-wqxj1nfpy8] { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.dist-item-label[b-wqxj1nfpy8] { min-width: 72px; }
.dist-bar-wrap[b-wqxj1nfpy8] { flex: 1; height: 10px; background: var(--border-color); border-radius: 5px; overflow: hidden; }
.dist-bar-fill[b-wqxj1nfpy8] { height: 100%; background: var(--accent); border-radius: 5px; transition: width 0.4s; min-width: 2px; }
.bar-progress[b-wqxj1nfpy8] { background: #1976d2; }
.bar-delay[b-wqxj1nfpy8]    { background: #d32f2f; }
.bar-done[b-wqxj1nfpy8]     { background: #2e7d32; }
.bar-hold[b-wqxj1nfpy8]     { background: #e65100; }
.dist-count[b-wqxj1nfpy8] { font-size: 11.5px; color: var(--text-muted); white-space: nowrap; min-width: 70px; text-align: right; }

/* 납기 리스트 */
.deadline-list[b-wqxj1nfpy8] { display: flex; flex-direction: column; gap: 8px; }
.deadline-item[b-wqxj1nfpy8] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 8px 12px; background: var(--bg-main); border-radius: 8px;
    font-size: 12.5px; border-left: 3px solid var(--accent);
}
.deadline-item.deadline-past[b-wqxj1nfpy8] { border-left-color: #9e9e9e; opacity: 0.7; }
.deadline-item.deadline-urgent[b-wqxj1nfpy8] { border-left-color: #d32f2f; }
.deadline-name[b-wqxj1nfpy8] { font-weight: 600; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
.deadline-date[b-wqxj1nfpy8] { font-size: 12px; color: var(--text-muted); display: flex; align-items: center; gap: 6px; white-space: nowrap; }

/* D-Day 배지 */
.dday-badge[b-wqxj1nfpy8] {
    display: inline-block; padding: 2px 7px; border-radius: 10px;
    font-size: 11px; font-weight: 700;
}
.dday-past[b-wqxj1nfpy8]   { background: #eeeeee; color: #757575; }
.dday-today[b-wqxj1nfpy8]  { background: #d32f2f; color: #fff; }
.dday-urgent[b-wqxj1nfpy8] { background: #fce4ec; color: #c62828; }
.dday-future[b-wqxj1nfpy8] { background: #e3f2fd; color: #1565c0; }

/* ===== 현황 테이블 섹션 ===== */
.status-section[b-wqxj1nfpy8] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden; margin-bottom: 20px;
}
.section-header[b-wqxj1nfpy8] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 20px; background: var(--bg-main); border-bottom: 1px solid var(--border-color);
    flex-wrap: wrap; gap: 10px;
}
.section-title[b-wqxj1nfpy8] { margin: 0; font-size: 14px; font-weight: 700; color: var(--text-primary); }
.section-filter[b-wqxj1nfpy8] { display: flex; gap: 8px; }
.filter-sm[b-wqxj1nfpy8] { font-size: 12.5px; padding: 5px 10px; border-radius: 6px; height: 32px; min-width: 120px; }

.status-table-wrap[b-wqxj1nfpy8] { overflow-x: auto; background: var(--bg-surface); }
.status-table[b-wqxj1nfpy8] { width: 100%; border-collapse: collapse; font-size: 12.5px; color: var(--text-primary); background: var(--bg-surface); }
.status-table thead[b-wqxj1nfpy8] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.status-table th[b-wqxj1nfpy8] { padding: 9px 10px; font-size: 10.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; white-space: nowrap; text-align: center; }
.status-table tbody tr[b-wqxj1nfpy8] { background: var(--bg-surface); }
.status-table td[b-wqxj1nfpy8] { padding: 8px 10px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; background: var(--bg-surface); color: var(--text-primary); }
.status-table td[b-wqxj1nfpy8] { text-align: center; }
.status-table td:nth-child(2)[b-wqxj1nfpy8],
.status-table td:nth-child(3)[b-wqxj1nfpy8] { text-align: left; }
.status-row[b-wqxj1nfpy8] { cursor: pointer; transition: background 0.1s; }
.status-row:hover[b-wqxj1nfpy8],
.status-row:hover td[b-wqxj1nfpy8] { background: var(--hover-bg); }

.prog-cell[b-wqxj1nfpy8] { display: flex; align-items: center; gap: 6px; min-width: 90px; }
.prog-bar[b-wqxj1nfpy8]  { flex: 1; height: 7px; background: var(--border-color); border-radius: 4px; overflow: hidden; }
.prog-fill[b-wqxj1nfpy8] { height: 100%; border-radius: 4px; }
.fill-high[b-wqxj1nfpy8] { background: #2e7d32; }
.fill-mid[b-wqxj1nfpy8]  { background: #1976d2; }
.fill-low[b-wqxj1nfpy8]  { background: #e65100; }
.prog-txt[b-wqxj1nfpy8]  { font-size: 11px; font-weight: 600; color: var(--text-muted); white-space: nowrap; }

.issue-badge-sm[b-wqxj1nfpy8] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; background: #d32f2f; color: #fff;
    border-radius: 10px; font-size: 11px; font-weight: 700; padding: 0 5px;
}

/* 유형/상태 배지 재사용 */
.type-badge[b-wqxj1nfpy8] { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.type-si[b-wqxj1nfpy8]       { background: #e3f2fd; color: #1565c0; }
.type-sm[b-wqxj1nfpy8]       { background: #f3e5f5; color: #6a1b9a; }
.type-컨설팅[b-wqxj1nfpy8]   { background: #fff8e1; color: #e65100; }
.type-자체개발[b-wqxj1nfpy8] { background: #e8f5e9; color: #2e7d32; }

.status-badge[b-wqxj1nfpy8] { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.status-progress[b-wqxj1nfpy8] { background: #e3f2fd; color: #1565c0; }
.status-delay[b-wqxj1nfpy8]    { background: #fce4ec; color: #c62828; }
.status-hold[b-wqxj1nfpy8]     { background: #fff8e1; color: #e65100; }
.status-done[b-wqxj1nfpy8]     { background: #e8f5e9; color: #2e7d32; }
.status-default[b-wqxj1nfpy8]  { background: var(--bg-main); color: var(--text-muted); }

/* ===== 진행률 구간 ===== */
.progress-section[b-wqxj1nfpy8] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; padding: 18px 20px; margin-bottom: 20px;
}
.section-title-sm[b-wqxj1nfpy8] { font-size: 14px; font-weight: 700; margin: 0 0 16px; color: var(--text-primary); }
.progress-bands[b-wqxj1nfpy8] { display: flex; flex-direction: column; gap: 12px; }
.progress-band[b-wqxj1nfpy8] { display: flex; align-items: flex-start; gap: 12px; }
.band-label[b-wqxj1nfpy8] { min-width: 90px; font-size: 12px; font-weight: 600; color: var(--text-muted); padding-top: 2px; }
.band-bar-wrap[b-wqxj1nfpy8] { min-width: 160px; height: 12px; background: var(--border-color); border-radius: 6px; overflow: hidden; margin-top: 2px; }
.band-fill[b-wqxj1nfpy8] { height: 100%; border-radius: 6px; transition: width 0.4s; min-width: 2px; }
.band-low[b-wqxj1nfpy8]  { background: #ef5350; }
.band-mid1[b-wqxj1nfpy8] { background: #ff9800; }
.band-mid2[b-wqxj1nfpy8] { background: #42a5f5; }
.band-high[b-wqxj1nfpy8] { background: #26a69a; }
.band-done[b-wqxj1nfpy8] { background: #2e7d32; }
.band-count[b-wqxj1nfpy8] { min-width: 36px; font-size: 12.5px; font-weight: 600; color: var(--text-primary); }
.band-projects[b-wqxj1nfpy8] { flex: 1; display: flex; flex-wrap: wrap; gap: 6px; }
.band-project-chip[b-wqxj1nfpy8] {
    display: inline-block; padding: 2px 10px; background: var(--accent-soft);
    color: var(--accent); border-radius: 20px; font-size: 11.5px; font-weight: 500;
    cursor: pointer; transition: background 0.15s;
}
.band-project-chip:hover[b-wqxj1nfpy8] { background: var(--accent); color: #fff; }

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-wqxj1nfpy8] {
    position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto;
}
.print-toolbar[b-wqxj1nfpy8] {
    position: sticky; top: 0; background: #1a1a2e; color: #fff;
    padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1;
}
.print-title-bar[b-wqxj1nfpy8] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-wqxj1nfpy8] { display: flex; gap: 8px; }
.btn-do-print[b-wqxj1nfpy8] {
    padding: 8px 20px; background: #217346; color: #fff;
    border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: inline-flex; align-items: center;
}
.btn-close-print[b-wqxj1nfpy8] {
    padding: 8px 20px; background: transparent; color: #fff;
    border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer;
    display: inline-flex; align-items: center;
}
.print-paper[b-wqxj1nfpy8] {
    max-width: 900px; margin: 28px auto 60px; background: #fff;
    padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12);
    color: #111; font-size: 13px;
}
.rpt-header[b-wqxj1nfpy8] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-wqxj1nfpy8] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-wqxj1nfpy8] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-wqxj1nfpy8] { font-size: 12px; color: #666; }
.rpt-section[b-wqxj1nfpy8] { margin-bottom: 32px; }
.rpt-section-title[b-wqxj1nfpy8] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-wqxj1nfpy8] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-wqxj1nfpy8], .rpt-table th[b-wqxj1nfpy8] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-wqxj1nfpy8] { background: #f0f0f0; font-weight: 600; }
.rpt-data-table thead[b-wqxj1nfpy8] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-wqxj1nfpy8] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-wqxj1nfpy8] { background: #f8f8f8; }
.rpt-footer[b-wqxj1nfpy8] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }

@@media print {
    .no-print[b-wqxj1nfpy8] { display: none !important; }
    .status-print-overlay[b-wqxj1nfpy8] { position: static; background: #fff; }
    .print-paper[b-wqxj1nfpy8] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}

/* ===== 반응형 ===== */
@media (max-width: 1400px) {
    .kpi-grid[b-wqxj1nfpy8] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1100px) {
    .dist-row[b-wqxj1nfpy8] { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
    .dist-row[b-wqxj1nfpy8] { grid-template-columns: 1fr; }
    .status-table-wrap[b-wqxj1nfpy8] { overflow-x: auto; }
    .status-table[b-wqxj1nfpy8] { min-width: 900px; }
}

@media (max-width: 768px) {
    .status-page[b-wqxj1nfpy8] { padding: 12px 16px; }
    .kpi-grid[b-wqxj1nfpy8] { grid-template-columns: repeat(2, 1fr); }
    .kpi-value[b-wqxj1nfpy8] { font-size: 22px; }
    .progress-band[b-wqxj1nfpy8] { flex-wrap: wrap; }
}

@media (max-width: 480px) {
    .kpi-grid[b-wqxj1nfpy8] { grid-template-columns: 1fr 1fr; }
    .status-header[b-wqxj1nfpy8] { flex-direction: column; }
    .status-header-actions[b-wqxj1nfpy8] { width: 100%; justify-content: flex-end; }
}
/* /Components/Pages/Purchase/PurchaseOrder.razor.rz.scp.css */
/* ===== 상태 배지 ===== */
.pur-status-badge[b-bjhcuh9dnm]    { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pur-status-작성중[b-bjhcuh9dnm]   { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; }
.pur-status-결재대기[b-bjhcuh9dnm] { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }
.pur-status-승인[b-bjhcuh9dnm]     { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.pur-status-반려[b-bjhcuh9dnm]     { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
.pur-status-발주완료[b-bjhcuh9dnm] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
.pur-status-입고중[b-bjhcuh9dnm]   { background: #f3e5f5; color: #6a1b9a; border: 1px solid #ce93d8; }
.pur-status-완료[b-bjhcuh9dnm]     { background: #e0f2f1; color: #00695c; border: 1px solid #80cbc4; }

/* ===== 페이지 고유 ===== */
.input-with-btn[b-bjhcuh9dnm] { display: flex; gap: 4px; }
.modal-lg[b-bjhcuh9dnm]       { width: 720px; }

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-bjhcuh9dnm] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-bjhcuh9dnm] { position: sticky; top: 0; background: #1a1a2e; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; z-index: 10000; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.print-title-bar[b-bjhcuh9dnm] { font-size: 14px; font-weight: 600; display: flex; align-items: center; }
.print-toolbar-btns[b-bjhcuh9dnm] { display: flex; gap: 10px; }
.btn-do-print[b-bjhcuh9dnm]  { padding: 7px 18px; background: #667eea; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-close-print[b-bjhcuh9dnm] { padding: 7px 16px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.print-paper[b-bjhcuh9dnm] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }

.rpt-header[b-bjhcuh9dnm]    { text-align: center; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 2px solid #1a1a2e; }
.rpt-company[b-bjhcuh9dnm]   { font-size: 12px; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; }
.rpt-title[b-bjhcuh9dnm]     { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.rpt-meta[b-bjhcuh9dnm]      { font-size: 12px; color: #666; }
.rpt-section[b-bjhcuh9dnm]   { margin-bottom: 32px; }
.rpt-section-title[b-bjhcuh9dnm] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-bjhcuh9dnm]     { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-bjhcuh9dnm]  { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-bjhcuh9dnm]     { background: #f5f5f5; font-weight: 600; color: #555; width: 90px; }
.rpt-data-table thead[b-bjhcuh9dnm] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-bjhcuh9dnm] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-bjhcuh9dnm] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-bjhcuh9dnm] { background: #f9f9f9; }
.rpt-footer[b-bjhcuh9dnm]    { margin-top: 40px; padding-top: 16px; border-top: 1px solid #ddd; text-align: center; font-size: 12px; color: #999; }

/* ===== 공식 문서 (발주서) ===== */
.doc-paper[b-bjhcuh9dnm]          { max-width: 820px; margin: 28px auto 60px; background: #fff; padding: 48px 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); font-family: "맑은 고딕", "Malgun Gothic", sans-serif; }
.doc-company-header[b-bjhcuh9dnm] { text-align: right; margin-bottom: 6px; }
.doc-company-name[b-bjhcuh9dnm]   { font-size: 12px; color: #888; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.doc-title-area[b-bjhcuh9dnm]     { text-align: center; margin: 18px 0 28px; padding-bottom: 16px; border-bottom: 2px solid #1a1a2e; }
.doc-main-title[b-bjhcuh9dnm]     { font-size: 24px; font-weight: 700; color: #1a1a2e; margin: 0 0 4px; letter-spacing: 4px; }
.doc-sub-title[b-bjhcuh9dnm]      { font-size: 11px; color: #888; margin: 0; letter-spacing: 2px; }
.doc-info-table[b-bjhcuh9dnm]     { width: 100%; border-collapse: collapse; margin-bottom: 22px; font-size: 12.5px; }
.doc-info-table td[b-bjhcuh9dnm]  { padding: 7px 12px; border: 1px solid #ccc; }
.doc-info-label[b-bjhcuh9dnm]     { background: #f0f0f0; font-weight: 700; color: #444; width: 90px; white-space: nowrap; }
.doc-info-value[b-bjhcuh9dnm]     { color: #222; min-width: 140px; }
.doc-items-table[b-bjhcuh9dnm]    { width: 100%; border-collapse: collapse; font-size: 12px; margin-bottom: 24px; }
.doc-items-table thead tr[b-bjhcuh9dnm] { background: #1a1a2e; color: #fff; }
.doc-items-table th[b-bjhcuh9dnm] { padding: 9px 10px; border: 1px solid #333; font-size: 11.5px; font-weight: 700; text-align: center; white-space: nowrap; }
.doc-items-table td[b-bjhcuh9dnm] { padding: 7px 10px; border: 1px solid #ccc; vertical-align: middle; }
.doc-items-table tfoot td[b-bjhcuh9dnm] { background: #f5f5f5; border-top: 2px solid #555; }
.doc-empty-row td[b-bjhcuh9dnm]   { height: 28px; }
.doc-total-label[b-bjhcuh9dnm]    { font-size: 12.5px; color: #333; padding-right: 14px; }
.doc-total-value[b-bjhcuh9dnm]    { font-size: 13px; color: #1a1a2e; padding-right: 10px; }
.doc-sign-area[b-bjhcuh9dnm]      { display: flex; justify-content: flex-end; margin-bottom: 20px; }
.doc-sign-table[b-bjhcuh9dnm]     { border-collapse: collapse; font-size: 11.5px; }
.doc-sign-table td[b-bjhcuh9dnm]  { border: 1px solid #888; text-align: center; padding: 5px 14px; }
.doc-sign-label[b-bjhcuh9dnm]     { background: #f0f0f0; font-weight: 700; color: #444; writing-mode: vertical-rl; letter-spacing: 3px; width: 28px; }
.doc-sign-role[b-bjhcuh9dnm]      { background: #f8f8f8; font-weight: 600; color: #555; width: 80px; padding: 5px 0; }
.doc-sign-box[b-bjhcuh9dnm]       { height: 60px; width: 80px; }
.doc-footer[b-bjhcuh9dnm]         { text-align: center; font-size: 11px; color: #aaa; padding-top: 14px; border-top: 1px solid #ddd; }

@media print {
    .no-print[b-bjhcuh9dnm] { display: none !important; }
    .status-print-overlay[b-bjhcuh9dnm] { position: static; background: #fff; }
    .print-paper[b-bjhcuh9dnm] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
    .doc-paper[b-bjhcuh9dnm]   { max-width: none; margin: 0; padding: 15mm; box-shadow: none; border-radius: 0; }
}
/* /Components/Pages/Purchase/PurchaseOrderConfirm.razor.rz.scp.css */
/* ===== 공통 ===== */
.mgmt-page[b-a23jnkfv57] { padding: 20px 28px; color: var(--text-primary); }
.mgmt-toast[b-a23jnkfv57] { display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 8px; margin-bottom: 16px; font-size: 13.5px; font-weight: 500; animation: toastIn-b-a23jnkfv57 0.3s ease; }
.toast-success[b-a23jnkfv57] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-a23jnkfv57]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-a23jnkfv57 { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-a23jnkfv57] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-a23jnkfv57] { margin: 0; font-size: 18px; font-weight: 700; }
.mgmt-header .text-muted[b-a23jnkfv57] { font-size: 12.5px; color: var(--text-muted); display: block; }
.header-actions[b-a23jnkfv57] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-retrieve[b-a23jnkfv57] { padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-retrieve:hover[b-a23jnkfv57] { opacity: 0.9; }
.btn-excel[b-a23jnkfv57] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-excel:hover[b-a23jnkfv57] { opacity: 0.9; }
.btn-print[b-a23jnkfv57] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-print:hover[b-a23jnkfv57] { opacity: 0.9; }

/* 요약 카드 */
.summary-strip[b-a23jnkfv57] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-a23jnkfv57] { flex: 1; min-width: 120px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.strip-label[b-a23jnkfv57] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; }
.strip-value[b-a23jnkfv57] { font-size: 22px; font-weight: 700; color: var(--text-primary); }

/* 필터 바 */
.filter-bar[b-a23jnkfv57] { display: flex; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; align-items: center; }

/* 테이블 */
.mgmt-table-wrap[b-a23jnkfv57] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; margin-bottom: 20px; }
.mgmt-table[b-a23jnkfv57] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-a23jnkfv57] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-a23jnkfv57] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; white-space: nowrap; }
.mgmt-table td[b-a23jnkfv57] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-a23jnkfv57] { background: var(--hover-bg); }
.mgmt-table tfoot td[b-a23jnkfv57] { background: var(--bg-main); border-top: 2px solid var(--border-color); padding: 9px 14px; }
.clickable-row[b-a23jnkfv57] { cursor: pointer; }
.row-selected td[b-a23jnkfv57] { background: #ede7f6 !important; }

/* 상태 배지 */
.pur-status-badge[b-a23jnkfv57] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pur-status-작성중[b-a23jnkfv57]   { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; }
.pur-status-결재대기[b-a23jnkfv57] { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }
.pur-status-승인[b-a23jnkfv57]     { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.pur-status-반려[b-a23jnkfv57]     { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
.pur-status-발주완료[b-a23jnkfv57] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }

/* 결재 버튼 */
.action-btns[b-a23jnkfv57] { display: flex; gap: 5px; }
.btn-approve[b-a23jnkfv57] {
    padding: 4px 12px; background: #e8f5e9; color: #2e7d32;
    border: 1px solid #a5d6a7; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 3px;
}
.btn-approve:hover[b-a23jnkfv57] { background: #2e7d32; color: #fff; }
.btn-reject[b-a23jnkfv57] {
    padding: 4px 12px; background: #fce4ec; color: #c62828;
    border: 1px solid #ef9a9a; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 3px;
}
.btn-reject:hover[b-a23jnkfv57] { background: #c62828; color: #fff; }

/* 상세 패널 */
.detail-panel[b-a23jnkfv57] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.detail-panel-head[b-a23jnkfv57] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; background: var(--bg-main); border-bottom: 1px solid var(--border-color);
    font-size: 13.5px; font-weight: 700; color: var(--text-primary);
}
.reject-reason-badge[b-a23jnkfv57] { background: #fce4ec; color: #c62828; font-size: 12px; padding: 3px 10px; border-radius: 20px; font-weight: 600; }

/* 모달 */
.modal-overlay[b-a23jnkfv57] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 9000; display: flex; align-items: center; justify-content: center; }
.modal-panel[b-a23jnkfv57] { background: var(--bg-surface); border-radius: 14px; width: 480px; max-width: 96vw; box-shadow: 0 20px 60px rgba(0,0,0,0.25); }
.modal-sm[b-a23jnkfv57] { width: 420px; }
.modal-head[b-a23jnkfv57] { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--border-color); }
.modal-head h5[b-a23jnkfv57] { margin: 0; font-size: 16px; font-weight: 700; }
.btn-close-modal[b-a23jnkfv57] { width: 32px; height: 32px; background: transparent; border: none; cursor: pointer; color: var(--text-muted); font-size: 16px; border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.btn-close-modal:hover[b-a23jnkfv57] { background: var(--hover-bg); }
.modal-body-content[b-a23jnkfv57] { padding: 18px 22px; }
.modal-foot[b-a23jnkfv57] { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; }
.btn-modal-cancel[b-a23jnkfv57] { padding: 8px 20px; background: var(--bg-main); color: var(--text-muted); border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.btn-modal-cancel:hover[b-a23jnkfv57] { background: var(--hover-bg); }
.btn-danger-action[b-a23jnkfv57] { padding: 8px 20px; background: #c62828; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-danger-action:hover[b-a23jnkfv57] { background: #b71c1c; }

/* 인쇄 */
.status-print-overlay[b-a23jnkfv57] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-a23jnkfv57] { position: sticky; top: 0; background: #1a1a2e; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; z-index: 10000; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.print-title-bar[b-a23jnkfv57] { font-size: 14px; font-weight: 600; display: flex; align-items: center; }
.print-toolbar-btns[b-a23jnkfv57] { display: flex; gap: 10px; }
.btn-do-print[b-a23jnkfv57] { padding: 7px 18px; background: #667eea; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-close-print[b-a23jnkfv57] { padding: 7px 16px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.print-paper[b-a23jnkfv57] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.rpt-header[b-a23jnkfv57] { text-align: center; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 2px solid #1a1a2e; }
.rpt-company[b-a23jnkfv57] { font-size: 12px; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; }
.rpt-title[b-a23jnkfv57] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.rpt-meta[b-a23jnkfv57] { font-size: 12px; color: #666; }
.rpt-section[b-a23jnkfv57] { margin-bottom: 32px; }
.rpt-section-title[b-a23jnkfv57] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-a23jnkfv57] { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-a23jnkfv57] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-a23jnkfv57] { background: #f5f5f5; font-weight: 600; color: #555; width: 100px; }
.rpt-data-table thead[b-a23jnkfv57] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-a23jnkfv57] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-a23jnkfv57] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-a23jnkfv57] { background: #f9f9f9; }
.rpt-footer[b-a23jnkfv57] { margin-top: 40px; padding-top: 16px; border-top: 1px solid #ddd; text-align: center; font-size: 12px; color: #999; }

@media print {
    .no-print[b-a23jnkfv57] { display: none !important; }
    .status-print-overlay[b-a23jnkfv57] { position: static; background: #fff; }
    .print-paper[b-a23jnkfv57] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Purchase/PurchaseOrderStatus.razor.rz.scp.css */
/* ===== 공통 ===== */
.mgmt-page[b-ntkjzi9p0a] { padding: 20px 28px; color: var(--text-primary); }
.mgmt-header[b-ntkjzi9p0a] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-ntkjzi9p0a] { margin: 0; font-size: 18px; font-weight: 700; }
.header-actions[b-ntkjzi9p0a] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-retrieve[b-ntkjzi9p0a] { padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-retrieve:hover[b-ntkjzi9p0a] { opacity: 0.9; }
.btn-excel[b-ntkjzi9p0a] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-excel:hover[b-ntkjzi9p0a] { opacity: 0.9; }
.btn-print[b-ntkjzi9p0a] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-print:hover[b-ntkjzi9p0a] { opacity: 0.9; }

/* 검색 필터 카드 */
.filter-card[b-ntkjzi9p0a] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; padding: 16px 20px; margin-bottom: 16px; }
.filter-row[b-ntkjzi9p0a] { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; }
.filter-item[b-ntkjzi9p0a] { display: flex; flex-direction: column; gap: 5px; }
.filter-item label[b-ntkjzi9p0a] { font-size: 11.5px; font-weight: 600; color: var(--text-muted); }
.date-range[b-ntkjzi9p0a] { display: flex; gap: 6px; align-items: center; }
.date-sep[b-ntkjzi9p0a] { font-size: 13px; color: var(--text-muted); }

/* 요약 */
.summary-strip[b-ntkjzi9p0a] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-ntkjzi9p0a] { flex: 1; min-width: 110px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.strip-label[b-ntkjzi9p0a] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; }
.strip-value[b-ntkjzi9p0a] { font-size: 20px; font-weight: 700; color: var(--text-primary); }
.strip-value-sm[b-ntkjzi9p0a] { font-size: 15px; }

/* 테이블 */
.mgmt-table-wrap[b-ntkjzi9p0a] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mgmt-table[b-ntkjzi9p0a] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-ntkjzi9p0a] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-ntkjzi9p0a] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; white-space: nowrap; }
.mgmt-table td[b-ntkjzi9p0a] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-ntkjzi9p0a] { background: var(--hover-bg); }
.clickable-row[b-ntkjzi9p0a] { cursor: pointer; }
.row-selected td[b-ntkjzi9p0a] { background: #ede7f6 !important; }

/* 확장 행 */
.detail-expand-row td[b-ntkjzi9p0a] { padding: 0 !important; background: #f8f9ff !important; }
.detail-expand-body[b-ntkjzi9p0a] { padding: 12px 24px 16px; }
.sub-table[b-ntkjzi9p0a] { width: 100%; border-collapse: collapse; font-size: 12px; }
.sub-table th[b-ntkjzi9p0a] { padding: 7px 10px; background: #eef0f8; font-size: 11px; font-weight: 700; color: #555; border-bottom: 1px solid #dde; }
.sub-table td[b-ntkjzi9p0a] { padding: 6px 10px; border-bottom: 1px solid #eef; color: var(--text-primary); }

/* 상태 배지 */
.pur-status-badge[b-ntkjzi9p0a] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pur-status-작성중[b-ntkjzi9p0a]   { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; }
.pur-status-결재대기[b-ntkjzi9p0a] { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }
.pur-status-승인[b-ntkjzi9p0a]     { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.pur-status-반려[b-ntkjzi9p0a]     { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
.pur-status-발주완료[b-ntkjzi9p0a] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }

/* 인쇄 */
.status-print-overlay[b-ntkjzi9p0a] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-ntkjzi9p0a] { position: sticky; top: 0; background: #1a1a2e; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; z-index: 10000; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.print-title-bar[b-ntkjzi9p0a] { font-size: 14px; font-weight: 600; display: flex; align-items: center; }
.print-toolbar-btns[b-ntkjzi9p0a] { display: flex; gap: 10px; }
.btn-do-print[b-ntkjzi9p0a] { padding: 7px 18px; background: #667eea; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-close-print[b-ntkjzi9p0a] { padding: 7px 16px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.print-paper[b-ntkjzi9p0a] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.rpt-header[b-ntkjzi9p0a] { text-align: center; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 2px solid #1a1a2e; }
.rpt-company[b-ntkjzi9p0a] { font-size: 12px; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; }
.rpt-title[b-ntkjzi9p0a] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.rpt-meta[b-ntkjzi9p0a] { font-size: 12px; color: #666; }
.rpt-section[b-ntkjzi9p0a] { margin-bottom: 32px; }
.rpt-section-title[b-ntkjzi9p0a] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-ntkjzi9p0a] { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-ntkjzi9p0a] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-ntkjzi9p0a] { background: #f5f5f5; font-weight: 600; color: #555; width: 90px; }
.rpt-data-table thead[b-ntkjzi9p0a] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-ntkjzi9p0a] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-ntkjzi9p0a] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-ntkjzi9p0a] { background: #f9f9f9; }
.rpt-footer[b-ntkjzi9p0a] { margin-top: 40px; padding-top: 16px; border-top: 1px solid #ddd; text-align: center; font-size: 12px; color: #999; }

@media print {
    .no-print[b-ntkjzi9p0a] { display: none !important; }
    .status-print-overlay[b-ntkjzi9p0a] { position: static; background: #fff; }
    .print-paper[b-ntkjzi9p0a] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Purchase/PurchaseReceiptRegister.razor.rz.scp.css */
/* ── 배지 (헤더 안내) ── */
.badge-info[b-2qwcf3e9tz] { background: #e3f2fd; color: #1565c0; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }

/* ── 입고 상세 카드 ── */
.receipt-detail-card[b-2qwcf3e9tz] {
    background: var(--bg-surface); border: 2px solid #1565c0; border-radius: 14px; overflow: hidden;
    box-shadow: 0 2px 12px rgba(21,101,192,0.1); margin-bottom: 20px;
}
.receipt-detail-head[b-2qwcf3e9tz] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; background: #e3f2fd; border-bottom: 1px solid #90caf9;
    font-size: 14px; font-weight: 700; color: #1565c0;
}
.vendor-tag[b-2qwcf3e9tz] { background: #1565c0; color: #fff; padding: 3px 10px; border-radius: 20px; font-size: 12px; margin-left: 10px; }

/* 입고 완료 행 */
.row-complete td[b-2qwcf3e9tz] { background: #f9fbe7 !important; color: #9e9e9e; }

/* ── 입고 확인 버튼 ── */
.btn-do-receipt[b-2qwcf3e9tz] {
    width: 30px; height: 30px; background: #2e7d32; color: #fff; border: none;
    border-radius: 6px; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center;
    transition: background 0.15s;
}
.btn-do-receipt:hover[b-2qwcf3e9tz] { background: #1b5e20; }
.btn-do-receipt:disabled[b-2qwcf3e9tz],
.btn-do-receipt-disabled[b-2qwcf3e9tz] { background: #bdbdbd !important; cursor: not-allowed; opacity: 0.6; }

/* ── 입고 하단 푸터 ── */
.receipt-detail-foot[b-2qwcf3e9tz] { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--bg-main); border-top: 1px solid var(--border-color); }

/* ── 일괄 입고 등록 버튼 ── */
.btn-bulk-receipt[b-2qwcf3e9tz] {
    padding: 8px 20px; background: #1565c0; color: #fff; border: none;
    border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
    transition: background 0.15s;
}
.btn-bulk-receipt:hover[b-2qwcf3e9tz] { background: #0d47a1; }
.btn-bulk-receipt:disabled[b-2qwcf3e9tz] { background: #90caf9; cursor: not-allowed; opacity: 0.7; }

/* ── 인쇄 전용 테이블 클래스 (production.css에 없는 것만) ── */
.rpt-section-title[b-2qwcf3e9tz] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-2qwcf3e9tz] { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-2qwcf3e9tz] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-2qwcf3e9tz] { background: #f5f5f5; font-weight: 600; color: #555; width: 100px; }
.rpt-data-table thead[b-2qwcf3e9tz] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-2qwcf3e9tz] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-2qwcf3e9tz] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-2qwcf3e9tz] { background: #f9f9f9; }
/* /Components/Pages/Purchase/PurchaseReceiptStatus.razor.rz.scp.css */
/* ===== 공통 ===== */
.mgmt-page[b-mqhxg1xygn] { padding: 20px 28px; color: var(--text-primary); }
.mgmt-header[b-mqhxg1xygn] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-mqhxg1xygn] { margin: 0; font-size: 18px; font-weight: 700; }
.header-actions[b-mqhxg1xygn] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-retrieve[b-mqhxg1xygn] { padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-retrieve:hover[b-mqhxg1xygn] { opacity: 0.9; }
.btn-excel[b-mqhxg1xygn] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-excel:hover[b-mqhxg1xygn] { opacity: 0.9; }
.btn-print[b-mqhxg1xygn] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-print:hover[b-mqhxg1xygn] { opacity: 0.9; }

/* 검색 필터 카드 */
.filter-card[b-mqhxg1xygn] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; padding: 16px 20px; margin-bottom: 16px; }
.filter-row[b-mqhxg1xygn] { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; }
.filter-item[b-mqhxg1xygn] { display: flex; flex-direction: column; gap: 5px; }
.filter-item label[b-mqhxg1xygn] { font-size: 11.5px; font-weight: 600; color: var(--text-muted); }
.date-range[b-mqhxg1xygn] { display: flex; gap: 6px; align-items: center; }
.date-sep[b-mqhxg1xygn] { font-size: 13px; color: var(--text-muted); }

/* 요약 */
.summary-strip[b-mqhxg1xygn] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-mqhxg1xygn] { flex: 1; min-width: 110px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.strip-label[b-mqhxg1xygn] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; }
.strip-value[b-mqhxg1xygn] { font-size: 20px; font-weight: 700; color: var(--text-primary); }
.strip-value-sm[b-mqhxg1xygn] { font-size: 15px; }

/* 테이블 */
.mgmt-table-wrap[b-mqhxg1xygn] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mgmt-table[b-mqhxg1xygn] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-mqhxg1xygn] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-mqhxg1xygn] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; white-space: nowrap; }
.mgmt-table td[b-mqhxg1xygn] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-mqhxg1xygn] { background: var(--hover-bg); }
.clickable-row[b-mqhxg1xygn] { cursor: pointer; }
.row-selected td[b-mqhxg1xygn] { background: #ede7f6 !important; }

/* 확장 행 */
.detail-expand-row td[b-mqhxg1xygn] { padding: 0 !important; background: #f8f9ff !important; }
.detail-expand-body[b-mqhxg1xygn] { padding: 12px 24px 16px; }
.sub-table[b-mqhxg1xygn] { width: 100%; border-collapse: collapse; font-size: 12px; }
.sub-table th[b-mqhxg1xygn] { padding: 7px 10px; background: #eef0f8; font-size: 11px; font-weight: 700; color: #555; border-bottom: 1px solid #dde; }
.sub-table td[b-mqhxg1xygn] { padding: 6px 10px; border-bottom: 1px solid #eef; color: var(--text-primary); }

/* 상태 배지 */
.pur-status-badge[b-mqhxg1xygn] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pur-status-작성중[b-mqhxg1xygn]   { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; }
.pur-status-결재대기[b-mqhxg1xygn] { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }
.pur-status-승인[b-mqhxg1xygn]     { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.pur-status-반려[b-mqhxg1xygn]     { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
.pur-status-발주완료[b-mqhxg1xygn] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }

/* 인쇄 */
.status-print-overlay[b-mqhxg1xygn] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-mqhxg1xygn] { position: sticky; top: 0; background: #1a1a2e; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; z-index: 10000; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.print-title-bar[b-mqhxg1xygn] { font-size: 14px; font-weight: 600; display: flex; align-items: center; }
.print-toolbar-btns[b-mqhxg1xygn] { display: flex; gap: 10px; }
.btn-do-print[b-mqhxg1xygn] { padding: 7px 18px; background: #667eea; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-close-print[b-mqhxg1xygn] { padding: 7px 16px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.print-paper[b-mqhxg1xygn] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.rpt-header[b-mqhxg1xygn] { text-align: center; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 2px solid #1a1a2e; }
.rpt-company[b-mqhxg1xygn] { font-size: 12px; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; }
.rpt-title[b-mqhxg1xygn] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.rpt-meta[b-mqhxg1xygn] { font-size: 12px; color: #666; }
.rpt-section[b-mqhxg1xygn] { margin-bottom: 32px; }
.rpt-section-title[b-mqhxg1xygn] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-mqhxg1xygn] { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-mqhxg1xygn] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-mqhxg1xygn] { background: #f5f5f5; font-weight: 600; color: #555; width: 90px; }
.rpt-data-table thead[b-mqhxg1xygn] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-mqhxg1xygn] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-mqhxg1xygn] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-mqhxg1xygn] { background: #f9f9f9; }
.rpt-footer[b-mqhxg1xygn] { margin-top: 40px; padding-top: 16px; border-top: 1px solid #ddd; text-align: center; font-size: 12px; color: #999; }

@media print {
    .no-print[b-mqhxg1xygn] { display: none !important; }
    .status-print-overlay[b-mqhxg1xygn] { position: static; background: #fff; }
    .print-paper[b-mqhxg1xygn] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Purchase/PurchaseRequest.razor.rz.scp.css */
/* ===== 상태 배지 ===== */
.pur-status-badge[b-pr42sbeh9l] {
    display: inline-block; padding: 4px 12px; border-radius: 20px;
    font-size: 11.5px; font-weight: 700; white-space: nowrap;
}
.pur-status-작성중[b-pr42sbeh9l]   { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; }
.pur-status-결재대기[b-pr42sbeh9l] { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }
.pur-status-승인[b-pr42sbeh9l]     { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.pur-status-반려[b-pr42sbeh9l]     { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
.pur-status-발주완료[b-pr42sbeh9l] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
.pur-status-입고중[b-pr42sbeh9l]   { background: #f3e5f5; color: #6a1b9a; border: 1px solid #ce93d8; }
.pur-status-완료[b-pr42sbeh9l]     { background: #e0f2f1; color: #00695c; border: 1px solid #80cbc4; }

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-pr42sbeh9l] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-pr42sbeh9l] {
    position: sticky; top: 0; background: #1a1a2e; color: #fff;
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 24px; z-index: 10000; box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.print-title-bar[b-pr42sbeh9l] { font-size: 14px; font-weight: 600; display: flex; align-items: center; }
.print-toolbar-btns[b-pr42sbeh9l] { display: flex; gap: 10px; }
.btn-do-print[b-pr42sbeh9l] {
    padding: 7px 18px; background: #667eea; color: #fff;
    border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 5px;
}
.btn-do-print:hover[b-pr42sbeh9l] { background: #5a6fd6; }
.btn-close-print[b-pr42sbeh9l] {
    padding: 7px 16px; background: transparent; color: #fff;
    border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer;
    display: flex; align-items: center; gap: 5px;
}
.btn-close-print:hover[b-pr42sbeh9l] { background: rgba(255,255,255,0.1); }

.print-paper[b-pr42sbeh9l] {
    max-width: 900px; margin: 28px auto 60px; background: #fff;
    padding: 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.rpt-header[b-pr42sbeh9l] { text-align: center; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 2px solid #1a1a2e; }
.rpt-company[b-pr42sbeh9l] { font-size: 12px; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; }
.rpt-title[b-pr42sbeh9l] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.rpt-meta[b-pr42sbeh9l] { font-size: 12px; color: #666; }
.rpt-section[b-pr42sbeh9l] { margin-bottom: 32px; }
.rpt-section-title[b-pr42sbeh9l] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-pr42sbeh9l] { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-pr42sbeh9l] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-pr42sbeh9l] { background: #f5f5f5; font-weight: 600; color: #555; width: 120px; }
.rpt-data-table thead[b-pr42sbeh9l] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-pr42sbeh9l] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-pr42sbeh9l] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-pr42sbeh9l] { background: #f9f9f9; }
.rpt-footer[b-pr42sbeh9l] { margin-top: 40px; padding-top: 16px; border-top: 1px solid #ddd; text-align: center; font-size: 12px; color: #999; }

/* ===== 공식 문서 (구매청구서) ===== */
.doc-paper[b-pr42sbeh9l] { max-width: 820px; margin: 28px auto 60px; background: #fff; padding: 48px 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); font-family: "맑은 고딕", "Malgun Gothic", sans-serif; }
.doc-info-grid[b-pr42sbeh9l] { margin-bottom: 22px; }
.doc-company-header[b-pr42sbeh9l] { text-align: right; margin-bottom: 6px; }
.doc-company-name[b-pr42sbeh9l] { font-size: 12px; color: #888; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.doc-title-area[b-pr42sbeh9l] { text-align: center; margin: 18px 0 28px; padding-bottom: 16px; border-bottom: 2px solid #1a1a2e; }
.doc-main-title[b-pr42sbeh9l] { font-size: 24px; font-weight: 700; color: #1a1a2e; margin: 0 0 4px; letter-spacing: 4px; }
.doc-sub-title[b-pr42sbeh9l] { font-size: 11px; color: #888; margin: 0; letter-spacing: 2px; }
.doc-info-table[b-pr42sbeh9l] { width: 100%; border-collapse: collapse; margin-bottom: 22px; font-size: 12.5px; }
.doc-info-table td[b-pr42sbeh9l] { padding: 7px 12px; border: 1px solid #ccc; }
.doc-info-label[b-pr42sbeh9l] { background: #f0f0f0; font-weight: 700; color: #444; width: 90px; white-space: nowrap; }
.doc-info-value[b-pr42sbeh9l] { color: #222; min-width: 140px; }
.doc-items-table[b-pr42sbeh9l] { width: 100%; border-collapse: collapse; font-size: 12px; margin-bottom: 24px; }
.doc-items-table thead tr[b-pr42sbeh9l] { background: #1a1a2e; color: #fff; }
.doc-items-table th[b-pr42sbeh9l] { padding: 9px 10px; border: 1px solid #333; font-size: 11.5px; font-weight: 700; text-align: center; white-space: nowrap; }
.doc-items-table td[b-pr42sbeh9l] { padding: 7px 10px; border: 1px solid #ccc; vertical-align: middle; }
.doc-items-table tfoot td[b-pr42sbeh9l] { background: #f5f5f5; border-top: 2px solid #555; }
.doc-empty-row td[b-pr42sbeh9l] { height: 28px; }
.doc-total-label[b-pr42sbeh9l] { font-size: 12.5px; color: #333; padding-right: 14px; }
.doc-total-value[b-pr42sbeh9l] { font-size: 13px; color: #1a1a2e; padding-right: 10px; }
.doc-sign-area[b-pr42sbeh9l] { display: flex; justify-content: flex-end; margin-bottom: 20px; }
.doc-sign-table[b-pr42sbeh9l] { border-collapse: collapse; font-size: 11.5px; }
.doc-sign-table td[b-pr42sbeh9l] { border: 1px solid #888; text-align: center; padding: 5px 14px; }
.doc-sign-label[b-pr42sbeh9l] { background: #f0f0f0; font-weight: 700; color: #444; writing-mode: vertical-rl; letter-spacing: 3px; width: 28px; }
.doc-sign-role[b-pr42sbeh9l] { background: #f8f8f8; font-weight: 600; color: #555; width: 80px; padding: 5px 0; }
.doc-sign-box[b-pr42sbeh9l] { height: 60px; width: 80px; }
.doc-footer[b-pr42sbeh9l] { text-align: center; font-size: 11px; color: #aaa; padding-top: 14px; border-top: 1px solid #ddd; }
/* 구매청구서 마크업 별칭 */
.doc-company[b-pr42sbeh9l]  { font-size: 12px; color: #888; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px; }
.doc-subtitle[b-pr42sbeh9l] { font-size: 11px; color: #888; margin: 0; letter-spacing: 2px; }
.doc-label[b-pr42sbeh9l]    { background: #f0f0f0; font-weight: 700; color: #444; width: 90px; white-space: nowrap; padding: 7px 12px; border: 1px solid #ccc; }
.doc-value[b-pr42sbeh9l]    { color: #222; min-width: 140px; padding: 7px 12px; border: 1px solid #ccc; }

@media print {
    .no-print[b-pr42sbeh9l] { display: none !important; }
    .status-print-overlay[b-pr42sbeh9l] { position: static; background: #fff; }
    .print-paper[b-pr42sbeh9l] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; border-radius: 0; }
    .doc-paper[b-pr42sbeh9l]   { max-width: none; margin: 0; padding: 15mm; box-shadow: none; border-radius: 0; }
}
/* /Components/Pages/Purchase/PurchaseRequestConfirm.razor.rz.scp.css */
/* ===== 공통 ===== */
.mgmt-page[b-0cql8s7ns3] { padding: 20px 28px; color: var(--text-primary); }
.mgmt-toast[b-0cql8s7ns3] { display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 8px; margin-bottom: 16px; font-size: 13.5px; font-weight: 500; animation: toastIn-b-0cql8s7ns3 0.3s ease; }
.toast-success[b-0cql8s7ns3] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-0cql8s7ns3]   { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-0cql8s7ns3 { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-0cql8s7ns3] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-0cql8s7ns3] { margin: 0; font-size: 18px; font-weight: 700; }
.mgmt-header .text-muted[b-0cql8s7ns3] { font-size: 12.5px; color: var(--text-muted); display: block; }
.header-actions[b-0cql8s7ns3] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-retrieve[b-0cql8s7ns3] { padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-retrieve:hover[b-0cql8s7ns3] { opacity: 0.9; }
.btn-excel[b-0cql8s7ns3] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-excel:hover[b-0cql8s7ns3] { opacity: 0.9; }
.btn-print[b-0cql8s7ns3] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-print:hover[b-0cql8s7ns3] { opacity: 0.9; }

/* 요약 카드 */
.summary-strip[b-0cql8s7ns3] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-0cql8s7ns3] { flex: 1; min-width: 120px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.strip-label[b-0cql8s7ns3] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; }
.strip-value[b-0cql8s7ns3] { font-size: 22px; font-weight: 700; color: var(--text-primary); }

/* 필터 바 */
.filter-bar[b-0cql8s7ns3] { display: flex; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; align-items: center; }

/* 테이블 */
.mgmt-table-wrap[b-0cql8s7ns3] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; margin-bottom: 20px; }
.mgmt-table[b-0cql8s7ns3] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-0cql8s7ns3] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-0cql8s7ns3] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; white-space: nowrap; }
.mgmt-table td[b-0cql8s7ns3] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-0cql8s7ns3] { background: var(--hover-bg); }
.mgmt-table tfoot td[b-0cql8s7ns3] { background: var(--bg-main); border-top: 2px solid var(--border-color); padding: 9px 14px; }
.clickable-row[b-0cql8s7ns3] { cursor: pointer; }
.row-selected td[b-0cql8s7ns3] { background: #ede7f6 !important; }

/* 상태 배지 */
.pur-status-badge[b-0cql8s7ns3] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pur-status-작성중[b-0cql8s7ns3]   { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; }
.pur-status-결재대기[b-0cql8s7ns3] { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }
.pur-status-승인[b-0cql8s7ns3]     { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.pur-status-반려[b-0cql8s7ns3]     { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
.pur-status-발주완료[b-0cql8s7ns3] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }

/* 결재 버튼 */
.action-btns[b-0cql8s7ns3] { display: flex; gap: 5px; }
.btn-approve[b-0cql8s7ns3] {
    padding: 4px 12px; background: #e8f5e9; color: #2e7d32;
    border: 1px solid #a5d6a7; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 3px;
}
.btn-approve:hover[b-0cql8s7ns3] { background: #2e7d32; color: #fff; }
.btn-reject[b-0cql8s7ns3] {
    padding: 4px 12px; background: #fce4ec; color: #c62828;
    border: 1px solid #ef9a9a; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 3px;
}
.btn-reject:hover[b-0cql8s7ns3] { background: #c62828; color: #fff; }

/* 상세 패널 */
.detail-panel[b-0cql8s7ns3] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.detail-panel-head[b-0cql8s7ns3] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; background: var(--bg-main); border-bottom: 1px solid var(--border-color);
    font-size: 13.5px; font-weight: 700; color: var(--text-primary);
}
.reject-reason-badge[b-0cql8s7ns3] { background: #fce4ec; color: #c62828; font-size: 12px; padding: 3px 10px; border-radius: 20px; font-weight: 600; }

/* 모달 */
.modal-overlay[b-0cql8s7ns3] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 9000; display: flex; align-items: center; justify-content: center; }
.modal-panel[b-0cql8s7ns3] { background: var(--bg-surface); border-radius: 14px; width: 480px; max-width: 96vw; box-shadow: 0 20px 60px rgba(0,0,0,0.25); }
.modal-sm[b-0cql8s7ns3] { width: 420px; }
.modal-head[b-0cql8s7ns3] { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--border-color); }
.modal-head h5[b-0cql8s7ns3] { margin: 0; font-size: 16px; font-weight: 700; }
.btn-close-modal[b-0cql8s7ns3] { width: 32px; height: 32px; background: transparent; border: none; cursor: pointer; color: var(--text-muted); font-size: 16px; border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.btn-close-modal:hover[b-0cql8s7ns3] { background: var(--hover-bg); }
.modal-body-content[b-0cql8s7ns3] { padding: 18px 22px; }
.modal-foot[b-0cql8s7ns3] { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; }
.btn-modal-cancel[b-0cql8s7ns3] { padding: 8px 20px; background: var(--bg-main); color: var(--text-muted); border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; }
.btn-modal-cancel:hover[b-0cql8s7ns3] { background: var(--hover-bg); }
.btn-danger-action[b-0cql8s7ns3] { padding: 8px 20px; background: #c62828; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-danger-action:hover[b-0cql8s7ns3] { background: #b71c1c; }

/* 인쇄 */
.status-print-overlay[b-0cql8s7ns3] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-0cql8s7ns3] { position: sticky; top: 0; background: #1a1a2e; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; z-index: 10000; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.print-title-bar[b-0cql8s7ns3] { font-size: 14px; font-weight: 600; display: flex; align-items: center; }
.print-toolbar-btns[b-0cql8s7ns3] { display: flex; gap: 10px; }
.btn-do-print[b-0cql8s7ns3] { padding: 7px 18px; background: #667eea; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-close-print[b-0cql8s7ns3] { padding: 7px 16px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.print-paper[b-0cql8s7ns3] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.rpt-header[b-0cql8s7ns3] { text-align: center; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 2px solid #1a1a2e; }
.rpt-company[b-0cql8s7ns3] { font-size: 12px; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; }
.rpt-title[b-0cql8s7ns3] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.rpt-meta[b-0cql8s7ns3] { font-size: 12px; color: #666; }
.rpt-section[b-0cql8s7ns3] { margin-bottom: 32px; }
.rpt-section-title[b-0cql8s7ns3] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-0cql8s7ns3] { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-0cql8s7ns3] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-0cql8s7ns3] { background: #f5f5f5; font-weight: 600; color: #555; width: 100px; }
.rpt-data-table thead[b-0cql8s7ns3] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-0cql8s7ns3] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-0cql8s7ns3] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-0cql8s7ns3] { background: #f9f9f9; }
.rpt-footer[b-0cql8s7ns3] { margin-top: 40px; padding-top: 16px; border-top: 1px solid #ddd; text-align: center; font-size: 12px; color: #999; }

@media print {
    .no-print[b-0cql8s7ns3] { display: none !important; }
    .status-print-overlay[b-0cql8s7ns3] { position: static; background: #fff; }
    .print-paper[b-0cql8s7ns3] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Purchase/PurchaseRequestStatus.razor.rz.scp.css */
/* ===== 공통 ===== */
.mgmt-page[b-8iuw5n33n9] { padding: 20px 28px; color: var(--text-primary); }
.mgmt-header[b-8iuw5n33n9] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-8iuw5n33n9] { margin: 0; font-size: 18px; font-weight: 700; }
.header-actions[b-8iuw5n33n9] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-retrieve[b-8iuw5n33n9] { padding: 8px 18px; background: linear-gradient(135deg,#667eea,#764ba2); color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-retrieve:hover[b-8iuw5n33n9] { opacity: 0.9; }
.btn-excel[b-8iuw5n33n9] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-excel:hover[b-8iuw5n33n9] { opacity: 0.9; }
.btn-print[b-8iuw5n33n9] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.btn-print:hover[b-8iuw5n33n9] { opacity: 0.9; }

/* 검색 필터 카드 */
.filter-card[b-8iuw5n33n9] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; padding: 16px 20px; margin-bottom: 16px; }
.filter-row[b-8iuw5n33n9] { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; }
.filter-item[b-8iuw5n33n9] { display: flex; flex-direction: column; gap: 5px; }
.filter-item label[b-8iuw5n33n9] { font-size: 11.5px; font-weight: 600; color: var(--text-muted); }
.date-range[b-8iuw5n33n9] { display: flex; gap: 6px; align-items: center; }
.date-sep[b-8iuw5n33n9] { font-size: 13px; color: var(--text-muted); }

/* 요약 */
.summary-strip[b-8iuw5n33n9] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-8iuw5n33n9] { flex: 1; min-width: 110px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.strip-label[b-8iuw5n33n9] { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; }
.strip-value[b-8iuw5n33n9] { font-size: 20px; font-weight: 700; color: var(--text-primary); }
.strip-value-sm[b-8iuw5n33n9] { font-size: 15px; }

/* 테이블 */
.mgmt-table-wrap[b-8iuw5n33n9] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mgmt-table[b-8iuw5n33n9] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-8iuw5n33n9] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-8iuw5n33n9] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; white-space: nowrap; }
.mgmt-table td[b-8iuw5n33n9] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-8iuw5n33n9] { background: var(--hover-bg); }
.clickable-row[b-8iuw5n33n9] { cursor: pointer; }
.row-selected td[b-8iuw5n33n9] { background: #ede7f6 !important; }

/* 확장 행 */
.detail-expand-row td[b-8iuw5n33n9] { padding: 0 !important; background: #f8f9ff !important; }
.detail-expand-body[b-8iuw5n33n9] { padding: 12px 24px 16px; }
.sub-table[b-8iuw5n33n9] { width: 100%; border-collapse: collapse; font-size: 12px; }
.sub-table th[b-8iuw5n33n9] { padding: 7px 10px; background: #eef0f8; font-size: 11px; font-weight: 700; color: #555; border-bottom: 1px solid #dde; }
.sub-table td[b-8iuw5n33n9] { padding: 6px 10px; border-bottom: 1px solid #eef; color: var(--text-primary); }

/* 상태 배지 */
.pur-status-badge[b-8iuw5n33n9] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pur-status-작성중[b-8iuw5n33n9]   { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; }
.pur-status-결재대기[b-8iuw5n33n9] { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }
.pur-status-승인[b-8iuw5n33n9]     { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.pur-status-반려[b-8iuw5n33n9]     { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
.pur-status-발주완료[b-8iuw5n33n9] { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }

/* 인쇄 */
.status-print-overlay[b-8iuw5n33n9] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-8iuw5n33n9] { position: sticky; top: 0; background: #1a1a2e; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; z-index: 10000; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.print-title-bar[b-8iuw5n33n9] { font-size: 14px; font-weight: 600; display: flex; align-items: center; }
.print-toolbar-btns[b-8iuw5n33n9] { display: flex; gap: 10px; }
.btn-do-print[b-8iuw5n33n9] { padding: 7px 18px; background: #667eea; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.btn-close-print[b-8iuw5n33n9] { padding: 7px 16px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.print-paper[b-8iuw5n33n9] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.rpt-header[b-8iuw5n33n9] { text-align: center; margin-bottom: 36px; padding-bottom: 20px; border-bottom: 2px solid #1a1a2e; }
.rpt-company[b-8iuw5n33n9] { font-size: 12px; color: #888; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; }
.rpt-title[b-8iuw5n33n9] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.rpt-meta[b-8iuw5n33n9] { font-size: 12px; color: #666; }
.rpt-section[b-8iuw5n33n9] { margin-bottom: 32px; }
.rpt-section-title[b-8iuw5n33n9] { font-size: 14px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid #667eea; }
.rpt-table[b-8iuw5n33n9] { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rpt-table td[b-8iuw5n33n9] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-label[b-8iuw5n33n9] { background: #f5f5f5; font-weight: 600; color: #555; width: 90px; }
.rpt-data-table thead[b-8iuw5n33n9] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-8iuw5n33n9] { padding: 9px 12px; border: 1px solid #444; font-size: 11.5px; }
.rpt-data-table td[b-8iuw5n33n9] { padding: 8px 12px; border: 1px solid #ddd; }
.rpt-data-table tbody tr:nth-child(even) td[b-8iuw5n33n9] { background: #f9f9f9; }
.rpt-footer[b-8iuw5n33n9] { margin-top: 40px; padding-top: 16px; border-top: 1px solid #ddd; text-align: center; font-size: 12px; color: #999; }

@media print {
    .no-print[b-8iuw5n33n9] { display: none !important; }
    .status-print-overlay[b-8iuw5n33n9] { position: static; background: #fff; }
    .print-paper[b-8iuw5n33n9] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Sales/Delivery.razor.rz.scp.css */
#deliveryTable th[b-2yvmtyf1bs],
#deliveryTable td[b-2yvmtyf1bs] {
    text-align: center;
}

#deliveryTable .customer-cell[b-2yvmtyf1bs] {
    text-align: left;
}

#deliveryTable .action-btns[b-2yvmtyf1bs] {
    justify-content: center;
}
/* /Components/Pages/Sales/DeliveryStatus.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-k098njgc8l] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-header[b-k098njgc8l] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-k098njgc8l] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-k098njgc8l] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-k098njgc8l] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-k098njgc8l] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-k098njgc8l] { font-size: 13px; color: var(--text-muted); }
.search-input[b-k098njgc8l] { width: 150px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-k098njgc8l] { width: 130px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-excel[b-k098njgc8l] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-k098njgc8l] { opacity: 0.9; }
.btn-print[b-k098njgc8l] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-k098njgc8l] { opacity: 0.9; }

/* 테이블 */
.mgmt-table-wrap[b-k098njgc8l] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mb-section[b-k098njgc8l] { margin-bottom: 24px; }
.mgmt-table[b-k098njgc8l] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-k098njgc8l] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-k098njgc8l] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-k098njgc8l] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-k098njgc8l] { background: var(--hover-bg); }
#deliveryStatusTable th[b-k098njgc8l],
#deliveryStatusTable td[b-k098njgc8l] { text-align: center; }
#deliveryStatusTable .customer-cell[b-k098njgc8l] { text-align: left; }
#deliveryStatusTable .item-summary-cell[b-k098njgc8l] { text-align: left; }

.code-text[b-k098njgc8l] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-k098njgc8l] { font-weight: 600; }
.price-cell[b-k098njgc8l] { font-family: monospace; font-size: 12.5px; }
.small-text[b-k098njgc8l] { font-size: 12px; }

.type-badge[b-k098njgc8l] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.badge-blue[b-k098njgc8l] { background: #e3f2fd; color: #1565c0; }
.badge-green[b-k098njgc8l] { background: #e8f5e9; color: #2e7d32; }
.badge-orange[b-k098njgc8l] { background: #fff3e0; color: #e65100; }
.badge-red[b-k098njgc8l] { background: #ffebee; color: #c62828; }

/* 섹션 타이틀 */
.section-title[b-k098njgc8l] { font-size: 14px; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

.empty-wrap[b-k098njgc8l], .loading-wrap[b-k098njgc8l] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-k098njgc8l] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-k098njgc8l] { flex-direction: row; gap: 10px; }
.loading-spinner[b-k098njgc8l] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-k098njgc8l 0.8s linear infinite; }
@keyframes spin-b-k098njgc8l { to { transform: rotate(360deg); } }

.summary-strip[b-k098njgc8l] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-k098njgc8l] { flex: 1; min-width: 140px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px 16px; }
.strip-label[b-k098njgc8l] { display: block; font-size: 11px; color: var(--text-muted); text-transform: uppercase; margin-bottom: 4px; }
.strip-value[b-k098njgc8l] { display: block; font-size: 20px; font-weight: 700; color: var(--text-primary); }

@media (max-width: 1200px) { .mgmt-table-wrap[b-k098njgc8l] { overflow-x: auto; } .mgmt-table[b-k098njgc8l] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-k098njgc8l] { padding: 12px 16px; }
    .mgmt-header[b-k098njgc8l] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-k098njgc8l] { flex-direction: column; gap: 8px; }
    .date-input[b-k098njgc8l], .search-input[b-k098njgc8l], .filter-select[b-k098njgc8l] { width: 100%; }
    .btn-excel[b-k098njgc8l], .btn-print[b-k098njgc8l] { width: 100%; justify-content: center; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-k098njgc8l] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-k098njgc8l] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-k098njgc8l] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-k098njgc8l] { display: flex; gap: 8px; }
.btn-do-print[b-k098njgc8l] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-do-pdf[b-k098njgc8l] { padding: 8px 20px; background: #c62828; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-k098njgc8l] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-k098njgc8l] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-k098njgc8l] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-k098njgc8l] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-k098njgc8l] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-k098njgc8l] { font-size: 12px; color: #666; }
.rpt-footer[b-k098njgc8l] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }

@media print {
    .no-print[b-k098njgc8l] { display: none !important; }
    .status-print-overlay[b-k098njgc8l] { position: static; background: #fff; }
    .print-paper[b-k098njgc8l] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Sales/Quotation.razor.rz.scp.css */
#quotationTable th[b-o3o5nj4smz],
#quotationTable td[b-o3o5nj4smz] {
    text-align: center;
}

#quotationTable .customer-cell[b-o3o5nj4smz] {
    text-align: left;
}

#quotationTable .action-btns[b-o3o5nj4smz] {
    justify-content: center;
}

.quote-edit-detail-table th[b-o3o5nj4smz],
.quote-edit-detail-table td[b-o3o5nj4smz] {
    text-align: center !important;
}

.quote-edit-detail-table td:nth-child(2)[b-o3o5nj4smz],
.quote-edit-detail-table td:nth-child(2) input[b-o3o5nj4smz] {
    text-align: left !important;
}

.quote-edit-detail-table td:not(:nth-child(2)) input[b-o3o5nj4smz] {
    text-align: center !important;
}
/* /Components/Pages/Sales/QuotationPrintDocument.razor.rz.scp.css */
.quote-document[b-bx1yf27821] {
    width: 210mm;
    margin: 0 auto 40px;
    font-family: "Malgun Gothic", "맑은 고딕", Arial, sans-serif;
    color: #111 !important;
}

.quote-page[b-bx1yf27821] {
    width: 210mm;
    min-height: 297mm;
    margin: 0 auto 0;
    padding: 5mm 10mm 16mm;
    box-sizing: border-box;
    background: #fff !important;
    color: #111 !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.16);
    position: relative;
}

.quote-page + .quote-page[b-bx1yf27821] {
    page-break-before: always;
    break-before: page;
}

.quote-page:last-child[b-bx1yf27821] {
    page-break-after: auto;
    break-after: auto;
}

.quote-top-logo[b-bx1yf27821] {
    height: 24mm;
    display: flex;
    align-items: flex-start;
}

.quote-top-logo img[b-bx1yf27821] {
    width: 58mm;
    height: auto;
    object-fit: contain;
}

.quote-title-row[b-bx1yf27821] {
    border-top: 1px solid transparent;
    margin-top: -3mm;
    margin-bottom: 4mm;
}

.quote-title-row h1[b-bx1yf27821] {
    margin: 0;
    text-align: center;
    font-size: 26pt;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0;
    color: #111 !important;
}

.quote-head-row[b-bx1yf27821] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    margin: 3mm 0 6mm;
    font-size: 10pt;
}

.quote-recipient[b-bx1yf27821] {
    font-size: 12pt;
    font-weight: 700;
    color: #111 !important;
}

.quote-meta[b-bx1yf27821] {
    text-align: right;
    font-weight: 700;
    color: #111 !important;
}

.quote-info-area[b-bx1yf27821] {
    display: grid;
    grid-template-columns: 1fr 1.12fr;
    gap: 4mm;
    margin-bottom: 5mm;
}

.quote-info-table[b-bx1yf27821],
.quote-amount-table[b-bx1yf27821],
.quote-cover-table[b-bx1yf27821],
.quote-detail-table[b-bx1yf27821] {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
}

.quote-info-table[b-bx1yf27821] {
    font-size: 8pt;
}

.quote-info-table th[b-bx1yf27821],
.quote-info-table td[b-bx1yf27821] {
    border: 1px solid #d8dce6;
    height: 8mm;
    padding: 1.5mm;
    vertical-align: middle;
    color: #111 !important;
}

.quote-info-table th[b-bx1yf27821] {
    width: 24mm;
    text-align: center;
    font-weight: 700;
    background: #eff3ff !important;
}

.quote-info-table td[b-bx1yf27821] {
    text-align: left;
    font-weight: 700;
}

.quote-info-table tbody tr:first-child th[b-bx1yf27821],
.quote-info-table tbody tr:first-child td[b-bx1yf27821] {
    border-top: 1px solid #0043ff !important;
}

.quote-info-note[b-bx1yf27821] {
    height: 8mm;
    text-align: center !important;
    border-bottom-color: #0043ff !important;
    color: #111 !important;
}

.quote-company-card[b-bx1yf27821] {
    min-height: 50mm;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 0;
    border: none;
    padding: 0;
    position: relative;
    color: #111 !important;
}

.quote-company-logo[b-bx1yf27821] {
    grid-column: 1;
    width: 60mm;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.quote-company-table[b-bx1yf27821] {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    font-size: 8pt;
    line-height: 1.3;
}

.quote-company-table tr[b-bx1yf27821] {
    height: auto;
}

.quote-company-table td[b-bx1yf27821] {
    border: 1px solid #d8dce6;
    padding: 2mm;
    vertical-align: middle;
    color: #111 !important;
}

.quote-company-table td.label[b-bx1yf27821] {
    background: #eff3ff !important;
    font-weight: 700;
    text-align: center;
    width: 22%;
}

.quote-company-table td.value[b-bx1yf27821] {
    text-align: left;
    width: 28%;
}

.quote-company-table tr:first-child td[b-bx1yf27821] {
    border-top: 1px solid #0043ff !important;
}

.quote-company-table tr:last-child td[b-bx1yf27821] {
    border-bottom: 1px solid #0043ff !important;
}

.quote-company-card dl[b-bx1yf27821] {
    display: none;
}

.quote-company-card dt[b-bx1yf27821],
.quote-company-card dd[b-bx1yf27821] {
    margin: 0;
    color: #111 !important;
}

.quote-company-card dt[b-bx1yf27821] {
    font-weight: 700;
}

.quote-stamp[b-bx1yf27821] {
    width: 25mm;
    height: 25mm;
    object-fit: contain;
    position: absolute;
    top: -5mm;
    right: -5mm;
    z-index: 20;
}

.quote-amount-table[b-bx1yf27821] {
    margin-bottom: 5mm;
    font-size: 14pt;
}

.quote-amount-table th[b-bx1yf27821],
.quote-amount-table td[b-bx1yf27821] {
    height: 13mm;
    border-top: 1px solid #0043ff;
    border-bottom: 1px solid #0043ff;
    padding: 2mm;
    vertical-align: middle;
    color: #111 !important;
}

.quote-amount-table th[b-bx1yf27821] {
    width: 50mm;
    text-align: center;
    font-weight: 800;
    background: #eff3ff !important;
    background-clip: border-box;
    box-sizing: border-box;
    padding: 2mm;
    white-space: nowrap;
    word-break: keep-all;
}

.quote-amount-korean[b-bx1yf27821] {
    text-align: right;
    font-weight: 700;
}

.quote-amount-number[b-bx1yf27821] {
    width: 42mm;
    text-align: right;
    font-weight: 900;
    color: #d71920 !important;
}

.quote-cover-table[b-bx1yf27821] {
    font-size: 9pt;
}

.quote-cover-table th[b-bx1yf27821],
.quote-cover-table td[b-bx1yf27821] {
    border: 1px solid #d8dce6;
    height: 9mm;
    padding: 1.7mm 2mm;
    vertical-align: middle;
    color: #111 !important;
}

.quote-cover-table thead th[b-bx1yf27821] {
    text-align: center;
    font-weight: 800;
    background: #eff3ff !important;
    border-top: 1px solid #0043ff !important;
    border-bottom: 1px solid #0043ff !important;
}

.quote-col-name[b-bx1yf27821] {
    width: 100mm;
}

.quote-detail-table th:first-child[b-bx1yf27821],
.quote-detail-table td:first-child[b-bx1yf27821] {
    width: 8mm;
}

.quote-cover-table tbody td[b-bx1yf27821] {
    text-align: center;
}

.quote-cover-table tbody tr:first-child td[b-bx1yf27821] {
    border-top: 1px solid #0043ff !important;
}

.quote-cover-table tbody tr:last-child td[b-bx1yf27821] {
    border-bottom: 1px solid #0043ff !important;
}

.quote-cover-table .quote-text[b-bx1yf27821],
.quote-detail-table .quote-text[b-bx1yf27821] {
    text-align: left;
    overflow-wrap: anywhere;
}

.quote-num[b-bx1yf27821] {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.quote-empty-row td[b-bx1yf27821] {
    height: 8.5mm;
}

.quote-cover-table tfoot th[b-bx1yf27821],
.quote-cover-table tfoot td[b-bx1yf27821] {
    background: #e8eaed !important;
    border-top-color: #0043ff;
    border-bottom-color: #0043ff;
    font-weight: 800;
}

.quote-cover-table tfoot th[b-bx1yf27821] {
    text-align: center;
}

.quote-special-box[b-bx1yf27821] {
    margin-top: 5mm;
    border-top: 1px solid #0043ff;
    color: #111 !important;
}

.quote-special-title[b-bx1yf27821] {
    height: 8mm;
    display: flex;
    align-items: center;
    padding: 0 3mm;
    background: #eff3ff !important;
    color: #002060 !important;
    font-size: 10pt;
    font-weight: 800;
}

.quote-special-content[b-bx1yf27821] {
    min-height: 18mm;
    padding: 3mm;
    border-bottom: 1px solid #0043ff;
    white-space: pre-wrap;
    font-size: 9pt;
    color: #111 !important;
}

.quote-contact-line[b-bx1yf27821] {
    margin-top: 7mm;
    font-size: 10pt;
    color: #111 !important;
}

.quote-detail-header[b-bx1yf27821] {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 4mm;
}

.quote-detail-header img[b-bx1yf27821] {
    width: 45mm;
    height: auto;
    object-fit: contain;
}

.quote-detail-title[b-bx1yf27821] {
    text-align: center;
    margin-bottom: 6mm;
    color: #111 !important;
}

.quote-detail-title-en[b-bx1yf27821] {
    font-size: 26pt;
    font-weight: 800;
    color: #111 !important;
    margin-bottom: 2mm;
    letter-spacing: 0;
    text-transform: uppercase;
}

.quote-detail-title h2[b-bx1yf27821] {
    margin: 0;
    font-size: 18pt;
    font-weight: 900;
    letter-spacing: 0;
    color: #111 !important;
}

.quote-work-title[b-bx1yf27821] {
    margin-bottom: 2mm;
    font-size: 8pt;
    font-weight: 700;
    color: #111 !important;
}

.quote-detail-table[b-bx1yf27821] {
    font-size: 6.5pt;
}

.quote-detail-table th[b-bx1yf27821],
.quote-detail-table td[b-bx1yf27821] {
    border: 1px solid #d8dce6;
    height: 7mm;
    padding: 1.2mm 1.4mm;
    vertical-align: middle;
    text-align: center;
    color: #111 !important;
}

.quote-detail-table thead th[b-bx1yf27821] {
    background: #eff3ff !important;
    border-color: #0043ff;
    font-weight: 800;
}

.quote-detail-table td:first-child[b-bx1yf27821],
.quote-detail-table th:first-child[b-bx1yf27821] {
    border-left: none;
}

.quote-detail-table td:last-child[b-bx1yf27821],
.quote-detail-table th:last-child[b-bx1yf27821] {
    border-right: none;
}

.quote-detail-group td[b-bx1yf27821] {
    height: 7.5mm;
    text-align: left;
    font-weight: 800;
    background: #efffff !important;
    border-color: #0043ff;
    color: #111 !important;
}

.quote-detail-table tbody tr:first-child td[b-bx1yf27821] {
    border-top: 1px solid #0043ff !important;
}

.quote-detail-table tbody tr:last-child td[b-bx1yf27821] {
    border-bottom: 1px solid #0043ff !important;
}

.quote-detail-total th[b-bx1yf27821],
.quote-detail-total td[b-bx1yf27821] {
    background: #e8eaed !important;
    border-top-color: #0043ff;
    border-bottom-color: #0043ff;
    font-weight: 800;
}

.quote-total-cell[b-bx1yf27821] {
    font-weight: 800;
}

.quote-empty-detail[b-bx1yf27821] {
    height: 18mm;
    color: #777 !important;
}

.page-number[b-bx1yf27821] {
    position: absolute;
    bottom: 8mm;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 9pt;
    color: #999 !important;
    font-weight: 500;
}

.quote-info-table[b-bx1yf27821],
.quote-company-table[b-bx1yf27821],
.quote-amount-table[b-bx1yf27821],
.quote-cover-table[b-bx1yf27821],
.quote-detail-table[b-bx1yf27821] {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.quote-info-table th[b-bx1yf27821],
.quote-info-table td[b-bx1yf27821],
.quote-company-table td[b-bx1yf27821],
.quote-cover-table th[b-bx1yf27821],
.quote-cover-table td[b-bx1yf27821],
.quote-detail-table th[b-bx1yf27821],
.quote-detail-table td[b-bx1yf27821] {
    border-right-width: 0 !important;
    border-bottom-width: 0 !important;
}

.quote-info-table tr > :last-child[b-bx1yf27821],
.quote-company-table tr > :last-child[b-bx1yf27821],
.quote-amount-table tr > :last-child[b-bx1yf27821],
.quote-cover-table tr > :last-child[b-bx1yf27821],
.quote-detail-table tr > :last-child[b-bx1yf27821] {
    border-right-width: 1px !important;
}

.quote-info-table tbody tr:last-child > *[b-bx1yf27821],
.quote-company-table tbody tr:last-child > *[b-bx1yf27821],
.quote-amount-table tbody tr:last-child > *[b-bx1yf27821],
.quote-cover-table tbody tr:last-child > *[b-bx1yf27821],
.quote-cover-table tfoot tr:last-child > *[b-bx1yf27821],
.quote-detail-table tbody tr:last-child > *[b-bx1yf27821] {
    border-bottom-width: 1px !important;
}

.quote-cover-table tbody tr:first-child td[b-bx1yf27821],
.quote-detail-table tbody tr:first-child td[b-bx1yf27821] {
    border-top-width: 0 !important;
}

.quote-cover-table thead tr:last-child th[b-bx1yf27821],
.quote-detail-table thead tr:last-child th[b-bx1yf27821],
.quote-detail-table thead th[rowspan][b-bx1yf27821] {
    border-bottom-width: 1px !important;
}

.quote-cover-table tfoot tr:first-child > *[b-bx1yf27821],
.quote-detail-total th[b-bx1yf27821],
.quote-detail-total td[b-bx1yf27821] {
    border-top-width: 1px !important;
}

.quote-detail-table th[b-bx1yf27821],
.quote-detail-table td[b-bx1yf27821] {
    border-left-color: #d8dce6 !important;
    border-right-color: #d8dce6 !important;
}

.quote-detail-table thead th[b-bx1yf27821] {
    border-top-color: #0043ff !important;
    border-bottom-color: #0043ff !important;
}

.quote-detail-table thead th + th[b-bx1yf27821],
.quote-detail-table thead tr:first-child th[colspan][b-bx1yf27821],
.quote-detail-table thead tr:nth-child(2) th[b-bx1yf27821] {
    border-left-width: 1px !important;
    border-left-color: #d8dce6 !important;
}

.quote-detail-table thead tr:first-child th[colspan][b-bx1yf27821] {
    border-bottom-color: #d8dce6 !important;
}

.quote-detail-table thead th[rowspan][b-bx1yf27821] {
    border-bottom-color: #0043ff !important;
}

.quote-detail-table thead tr:first-child th[colspan][b-bx1yf27821] {
    border-bottom-color: #d8dce6 !important;
}

.quote-detail-table thead tr:nth-child(2) th[b-bx1yf27821] {
    border-top-color: #d8dce6 !important;
}

.quote-detail-table thead tr:first-child th:nth-child(5)[b-bx1yf27821] {
    border-right-width: 1px !important;
    border-right-color: #d8dce6 !important;
}

.quote-detail-table thead tr:first-child th:nth-child(6)[b-bx1yf27821],
.quote-detail-table thead tr:nth-child(2) th:first-child[b-bx1yf27821] {
    border-left-width: 0 !important;
}

.quote-detail-group td[b-bx1yf27821],
.quote-detail-total th[b-bx1yf27821],
.quote-detail-total td[b-bx1yf27821],
.quote-detail-table tbody tr:first-child td[b-bx1yf27821],
.quote-detail-table tbody tr:last-child td[b-bx1yf27821] {
    border-top-color: #0043ff !important;
    border-bottom-color: #0043ff !important;
}

@media print {
    html[b-bx1yf27821],
    body[b-bx1yf27821] {
        width: 210mm;
        min-height: auto !important;
        overflow: visible !important;
    }

    body.has-print-overlay .quote-print-overlay[b-bx1yf27821] {
        position: static !important;
        display: block !important;
        width: 210mm !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .quote-document[b-bx1yf27821] {
        width: 210mm;
        margin: 0;
        padding: 0;
        overflow: visible !important;
    }

    .quote-page[b-bx1yf27821] {
        width: 210mm;
        min-height: 297mm;
        margin: 0;
        padding: 5mm 10mm 16mm;
        box-shadow: none;
        background: #fff !important;
        overflow: hidden !important;
        page-break-inside: avoid;
        break-inside: avoid-page;
    }

    .quote-page + .quote-page[b-bx1yf27821] {
        page-break-before: always;
        break-before: page;
    }

    .quote-page:last-child[b-bx1yf27821] {
        page-break-after: auto;
    }
}
/* /Components/Pages/Sales/QuotationStatus.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-e77komx2fo] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-header[b-e77komx2fo] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-e77komx2fo] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-e77komx2fo] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-e77komx2fo] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-e77komx2fo] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-e77komx2fo] { font-size: 13px; color: var(--text-muted); }
.search-input[b-e77komx2fo] { width: 150px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-e77komx2fo] { width: 130px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-excel[b-e77komx2fo] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-e77komx2fo] { opacity: 0.9; }
.btn-print[b-e77komx2fo] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-e77komx2fo] { opacity: 0.9; }

/* 테이블 */
.mgmt-table-wrap[b-e77komx2fo] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mb-section[b-e77komx2fo] { margin-bottom: 24px; }
.mgmt-table[b-e77komx2fo] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-e77komx2fo] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-e77komx2fo] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); background: var(--bg-main); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-e77komx2fo] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; background: var(--bg-surface); color: var(--text-primary); }
.mgmt-table tbody tr:hover td[b-e77komx2fo] { background: var(--hover-bg); }
#quotationStatusTable th[b-e77komx2fo],
#quotationStatusTable td[b-e77komx2fo] { text-align: center; }
#quotationStatusTable .customer-cell[b-e77komx2fo] { text-align: left; }
#quotationStatusTable .item-summary-cell[b-e77komx2fo] { text-align: left; }

.quote-status-detail-table th[b-e77komx2fo],
.quote-status-detail-table td[b-e77komx2fo] { text-align: center; }
.quote-status-detail-table tbody tr:not(.quote-group-row) td:nth-child(3)[b-e77komx2fo] { text-align: left; }
.quote-status-detail-table .quote-group-row[b-e77komx2fo],
.quote-status-detail-table .quote-group-row td[b-e77komx2fo] {
    background: var(--bg-main) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
    text-align: left;
}

.code-text[b-e77komx2fo] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-e77komx2fo] { font-weight: 600; }
.price-cell[b-e77komx2fo] { font-family: monospace; font-size: 12.5px; }
.small-text[b-e77komx2fo] { font-size: 12px; }

.type-badge[b-e77komx2fo] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.badge-blue[b-e77komx2fo] { background: #e3f2fd; color: #1565c0; }
.badge-green[b-e77komx2fo] { background: #e8f5e9; color: #2e7d32; }
.badge-orange[b-e77komx2fo] { background: #fff3e0; color: #e65100; }
.badge-red[b-e77komx2fo] { background: #ffebee; color: #c62828; }

/* 섹션 타이틀 */
.section-title[b-e77komx2fo] { font-size: 14px; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

.empty-wrap[b-e77komx2fo], .loading-wrap[b-e77komx2fo] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-e77komx2fo] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-e77komx2fo] { flex-direction: row; gap: 10px; }
.loading-spinner[b-e77komx2fo] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-e77komx2fo 0.8s linear infinite; }
@keyframes spin-b-e77komx2fo { to { transform: rotate(360deg); } }

.summary-strip[b-e77komx2fo] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-e77komx2fo] { flex: 1; min-width: 140px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px 16px; }
.strip-label[b-e77komx2fo] { display: block; font-size: 11px; color: var(--text-muted); text-transform: uppercase; margin-bottom: 4px; }
.strip-value[b-e77komx2fo] { display: block; font-size: 20px; font-weight: 700; color: var(--text-primary); }

@media (max-width: 1200px) { .mgmt-table-wrap[b-e77komx2fo] { overflow-x: auto; } .mgmt-table[b-e77komx2fo] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-e77komx2fo] { padding: 12px 16px; }
    .mgmt-header[b-e77komx2fo] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-e77komx2fo] { flex-direction: column; gap: 8px; }
    .date-input[b-e77komx2fo], .search-input[b-e77komx2fo], .filter-select[b-e77komx2fo] { width: 100%; }
    .btn-excel[b-e77komx2fo], .btn-print[b-e77komx2fo] { width: 100%; justify-content: center; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-e77komx2fo] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-e77komx2fo] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-e77komx2fo] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-e77komx2fo] { display: flex; gap: 8px; }
.btn-do-print[b-e77komx2fo] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-do-pdf[b-e77komx2fo] { padding: 8px 20px; background: #c62828; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-e77komx2fo] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-e77komx2fo] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-e77komx2fo] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-e77komx2fo] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-e77komx2fo] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-e77komx2fo] { font-size: 12px; color: #666; }
.rpt-footer[b-e77komx2fo] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }

@media print {
    .no-print[b-e77komx2fo] { display: none !important; }
    .status-print-overlay[b-e77komx2fo] { position: static; background: #fff; }
    .print-paper[b-e77komx2fo] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Sales/SalesActivity.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-6karzvrx8u] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-header[b-6karzvrx8u] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-6karzvrx8u] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-6karzvrx8u] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-6karzvrx8u] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-6karzvrx8u] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-6karzvrx8u] { font-size: 13px; color: var(--text-muted); }
.search-input[b-6karzvrx8u] { width: 150px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-6karzvrx8u] { width: 130px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-excel[b-6karzvrx8u] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-6karzvrx8u] { opacity: 0.9; }
.btn-print[b-6karzvrx8u] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-6karzvrx8u] { opacity: 0.9; }

/* 테이블 */
.mgmt-table-wrap[b-6karzvrx8u] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mb-section[b-6karzvrx8u] { margin-bottom: 24px; }
.mgmt-table[b-6karzvrx8u] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-6karzvrx8u] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-6karzvrx8u] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-6karzvrx8u] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-6karzvrx8u] { background: var(--hover-bg); }

#salesActivityTable th[b-6karzvrx8u],
#salesActivityTable td[b-6karzvrx8u] { text-align: center; }
#salesActivityTable .customer-cell[b-6karzvrx8u],
#salesActivityTable .title-cell[b-6karzvrx8u] { text-align: left; }
#salesActivityTable .action-btns[b-6karzvrx8u] { justify-content: center; }

.code-text[b-6karzvrx8u] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-6karzvrx8u] { font-weight: 600; }
.price-cell[b-6karzvrx8u] { font-family: monospace; font-size: 12.5px; }
.small-text[b-6karzvrx8u] { font-size: 12px; }

.type-badge[b-6karzvrx8u] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.badge-blue[b-6karzvrx8u] { background: #e3f2fd; color: #1565c0; }
.badge-green[b-6karzvrx8u] { background: #e8f5e9; color: #2e7d32; }
.badge-orange[b-6karzvrx8u] { background: #fff3e0; color: #e65100; }
.badge-red[b-6karzvrx8u] { background: #ffebee; color: #c62828; }

/* 섹션 타이틀 */
.section-title[b-6karzvrx8u] { font-size: 14px; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

.empty-wrap[b-6karzvrx8u], .loading-wrap[b-6karzvrx8u] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-6karzvrx8u] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-6karzvrx8u] { flex-direction: row; gap: 10px; }
.loading-spinner[b-6karzvrx8u] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-6karzvrx8u 0.8s linear infinite; }
@keyframes spin-b-6karzvrx8u { to { transform: rotate(360deg); } }

.summary-strip[b-6karzvrx8u] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-6karzvrx8u] { flex: 1; min-width: 140px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px 16px; }
.strip-label[b-6karzvrx8u] { display: block; font-size: 11px; color: var(--text-muted); text-transform: uppercase; margin-bottom: 4px; }
.strip-value[b-6karzvrx8u] { display: block; font-size: 20px; font-weight: 700; color: var(--text-primary); }

@media (max-width: 1200px) { .mgmt-table-wrap[b-6karzvrx8u] { overflow-x: auto; } .mgmt-table[b-6karzvrx8u] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-6karzvrx8u] { padding: 12px 16px; }
    .mgmt-header[b-6karzvrx8u] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-6karzvrx8u] { flex-direction: column; gap: 8px; }
    .date-input[b-6karzvrx8u], .search-input[b-6karzvrx8u], .filter-select[b-6karzvrx8u] { width: 100%; }
    .btn-excel[b-6karzvrx8u], .btn-print[b-6karzvrx8u] { width: 100%; justify-content: center; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-6karzvrx8u] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-6karzvrx8u] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-6karzvrx8u] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-6karzvrx8u] { display: flex; gap: 8px; }
.btn-do-print[b-6karzvrx8u] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-do-pdf[b-6karzvrx8u] { padding: 8px 20px; background: #c62828; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-6karzvrx8u] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-6karzvrx8u] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-6karzvrx8u] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-6karzvrx8u] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-6karzvrx8u] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-6karzvrx8u] { font-size: 12px; color: #666; }
.rpt-footer[b-6karzvrx8u] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }

@media print {
    .no-print[b-6karzvrx8u] { display: none !important; }
    .status-print-overlay[b-6karzvrx8u] { position: static; background: #fff; }
    .print-paper[b-6karzvrx8u] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Sales/SalesOrder.razor.rz.scp.css */
#salesOrderTable th[b-4n4lcm76f8],
#salesOrderTable td[b-4n4lcm76f8] {
    text-align: center;
}

#salesOrderTable .customer-cell[b-4n4lcm76f8] {
    text-align: left;
}

#salesOrderTable .action-btns[b-4n4lcm76f8] {
    justify-content: center;
}
/* /Components/Pages/Sales/SalesOrderStatus.razor.rz.scp.css */
/* ===== 공통 레이아웃 ===== */
.mgmt-page[b-oxwfwbzvs7] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-header[b-oxwfwbzvs7] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
.mgmt-header h4[b-oxwfwbzvs7] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-oxwfwbzvs7] { font-size: 12.5px; color: var(--text-muted); }
.header-actions[b-oxwfwbzvs7] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

.date-input[b-oxwfwbzvs7] { width: 140px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.date-sep[b-oxwfwbzvs7] { font-size: 13px; color: var(--text-muted); }
.search-input[b-oxwfwbzvs7] { width: 150px; font-size: 13px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }
.filter-select[b-oxwfwbzvs7] { width: 130px; font-size: 13px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-input); color: var(--text-primary); }

.btn-excel[b-oxwfwbzvs7] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-oxwfwbzvs7] { opacity: 0.9; }
.btn-print[b-oxwfwbzvs7] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-oxwfwbzvs7] { opacity: 0.9; }

/* 테이블 */
.mgmt-table-wrap[b-oxwfwbzvs7] { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.mb-section[b-oxwfwbzvs7] { margin-bottom: 24px; }
.mgmt-table[b-oxwfwbzvs7] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-oxwfwbzvs7] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-oxwfwbzvs7] { padding: 11px 14px; font-size: 11.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.mgmt-table td[b-oxwfwbzvs7] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover td[b-oxwfwbzvs7] { background: var(--hover-bg); }
.mgmt-table tfoot[b-oxwfwbzvs7],
.mgmt-table tfoot td[b-oxwfwbzvs7] {
    background: var(--bg-main);
    color: var(--text-primary);
    border-color: var(--border-color);
}
#salesOrderStatusTable th[b-oxwfwbzvs7],
#salesOrderStatusTable td[b-oxwfwbzvs7] { text-align: center; }
#salesOrderStatusTable .customer-cell[b-oxwfwbzvs7] { text-align: left; }
#salesOrderStatusTable .item-summary-cell[b-oxwfwbzvs7] { text-align: left; }

.code-text[b-oxwfwbzvs7] { font-family: monospace; font-size: 12px; color: var(--text-muted); }
.item-name[b-oxwfwbzvs7] { font-weight: 600; }
.price-cell[b-oxwfwbzvs7] { font-family: monospace; font-size: 12.5px; }
.small-text[b-oxwfwbzvs7] { font-size: 12px; }

.type-badge[b-oxwfwbzvs7] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.badge-blue[b-oxwfwbzvs7] { background: #e3f2fd; color: #1565c0; }
.badge-green[b-oxwfwbzvs7] { background: #e8f5e9; color: #2e7d32; }
.badge-orange[b-oxwfwbzvs7] { background: #fff3e0; color: #e65100; }
.badge-red[b-oxwfwbzvs7] { background: #ffebee; color: #c62828; }

/* 섹션 타이틀 */
.section-title[b-oxwfwbzvs7] { font-size: 14px; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

.empty-wrap[b-oxwfwbzvs7], .loading-wrap[b-oxwfwbzvs7] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; color: var(--text-muted); }
.empty-wrap i[b-oxwfwbzvs7] { font-size: 40px; margin-bottom: 10px; }
.loading-wrap[b-oxwfwbzvs7] { flex-direction: row; gap: 10px; }
.loading-spinner[b-oxwfwbzvs7] { width: 20px; height: 20px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin-b-oxwfwbzvs7 0.8s linear infinite; }
@keyframes spin-b-oxwfwbzvs7 { to { transform: rotate(360deg); } }

.summary-strip[b-oxwfwbzvs7] { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.strip-card[b-oxwfwbzvs7] { flex: 1; min-width: 140px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px 16px; }
.strip-label[b-oxwfwbzvs7] { display: block; font-size: 11px; color: var(--text-muted); text-transform: uppercase; margin-bottom: 4px; }
.strip-value[b-oxwfwbzvs7] { display: block; font-size: 20px; font-weight: 700; color: var(--text-primary); }

@media (max-width: 1200px) { .mgmt-table-wrap[b-oxwfwbzvs7] { overflow-x: auto; } .mgmt-table[b-oxwfwbzvs7] { min-width: 1000px; } }
@media (max-width: 768px) {
    .mgmt-page[b-oxwfwbzvs7] { padding: 12px 16px; }
    .mgmt-header[b-oxwfwbzvs7] { flex-direction: column; align-items: stretch; gap: 10px; }
    .header-actions[b-oxwfwbzvs7] { flex-direction: column; gap: 8px; }
    .date-input[b-oxwfwbzvs7], .search-input[b-oxwfwbzvs7], .filter-select[b-oxwfwbzvs7] { width: 100%; }
    .btn-excel[b-oxwfwbzvs7], .btn-print[b-oxwfwbzvs7] { width: 100%; justify-content: center; }
}

/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-oxwfwbzvs7] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-oxwfwbzvs7] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-oxwfwbzvs7] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-oxwfwbzvs7] { display: flex; gap: 8px; }
.btn-do-print[b-oxwfwbzvs7] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-do-pdf[b-oxwfwbzvs7] { padding: 8px 20px; background: #c62828; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-oxwfwbzvs7] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-oxwfwbzvs7] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-oxwfwbzvs7] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-oxwfwbzvs7] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-oxwfwbzvs7] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-oxwfwbzvs7] { font-size: 12px; color: #666; }
.rpt-footer[b-oxwfwbzvs7] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }

@media print {
    .no-print[b-oxwfwbzvs7] { display: none !important; }
    .status-print-overlay[b-oxwfwbzvs7] { position: static; background: #fff; }
    .print-paper[b-oxwfwbzvs7] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/Sales/SalesRevenue.razor.rz.scp.css */
#salesRevenueTable th:nth-child(2)[b-fkejzhxypl],
#salesRevenueTable th:nth-child(3)[b-fkejzhxypl],
#salesRevenueTable th:nth-child(4)[b-fkejzhxypl],
#salesRevenueTable th:nth-child(6)[b-fkejzhxypl],
#salesRevenueTable th:nth-child(8)[b-fkejzhxypl],
#salesRevenueTable td:nth-child(2)[b-fkejzhxypl],
#salesRevenueTable td:nth-child(3)[b-fkejzhxypl],
#salesRevenueTable td:nth-child(4)[b-fkejzhxypl],
#salesRevenueTable td:nth-child(6)[b-fkejzhxypl],
#salesRevenueTable td:nth-child(8)[b-fkejzhxypl] {
    text-align: center;
}

.status-print-overlay .mgmt-table th:nth-child(1)[b-fkejzhxypl],
.status-print-overlay .mgmt-table th:nth-child(2)[b-fkejzhxypl],
.status-print-overlay .mgmt-table th:nth-child(3)[b-fkejzhxypl],
.status-print-overlay .mgmt-table th:nth-child(5)[b-fkejzhxypl],
.status-print-overlay .mgmt-table th:nth-child(7)[b-fkejzhxypl],
.status-print-overlay .mgmt-table td:nth-child(1)[b-fkejzhxypl],
.status-print-overlay .mgmt-table td:nth-child(2)[b-fkejzhxypl],
.status-print-overlay .mgmt-table td:nth-child(3)[b-fkejzhxypl],
.status-print-overlay .mgmt-table td:nth-child(5)[b-fkejzhxypl],
.status-print-overlay .mgmt-table td:nth-child(7)[b-fkejzhxypl] {
    text-align: center;
}
/* /Components/Pages/SystemMgmt/CommonCodeManagement.razor.rz.scp.css */
.mgmt-page[b-mlkrut59lz] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-mlkrut59lz] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-mlkrut59lz 0.3s ease;
}
.toast-success[b-mlkrut59lz] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-mlkrut59lz] { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-mlkrut59lz { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-mlkrut59lz] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-mlkrut59lz] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.header-actions[b-mlkrut59lz] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn-excel[b-mlkrut59lz] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-mlkrut59lz] { opacity: 0.9; }
.btn-print[b-mlkrut59lz] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-mlkrut59lz] { opacity: 0.9; }

.filter-select[b-mlkrut59lz] {
    width: 160px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}

.btn-add[b-mlkrut59lz] {
    padding: 8px 20px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.btn-add:hover[b-mlkrut59lz] { opacity: 0.9; }

/* 테이블 */
.mgmt-table-wrap[b-mlkrut59lz] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-mlkrut59lz] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-mlkrut59lz] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-mlkrut59lz] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-mlkrut59lz] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover[b-mlkrut59lz] { background: var(--hover-bg); }
.row-disabled[b-mlkrut59lz] { opacity: 0.55; }

/* 그룹코드 배지 */
.group-badge[b-mlkrut59lz] {
    display: inline-block; padding: 2px 10px; border-radius: 4px;
    font-size: 11.5px; font-weight: 700;
    background: var(--accent-soft); color: var(--accent);
    font-family: monospace;
}

/* 액션 버튼 */
.action-btns[b-mlkrut59lz] { display: flex; gap: 4px; }
.btn-action[b-mlkrut59lz] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: all 0.15s;
}
.btn-action:hover[b-mlkrut59lz] { border-color: var(--text-muted); }
.btn-detail[b-mlkrut59lz] { color: var(--accent); }
.btn-detail:hover[b-mlkrut59lz] { background: var(--accent); color: #fff; border-color: var(--accent); }

/* 모달 */
.modal-overlay[b-mlkrut59lz] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-mlkrut59lz 0.2s;
}
.modal-panel[b-mlkrut59lz] {
    background: var(--bg-surface); border-radius: 14px; width: 560px; max-width: 95vw;
    max-height: 85vh; display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-mlkrut59lz 0.25s ease;
    color: var(--text-primary);
}
@keyframes fadeIn-b-mlkrut59lz { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-mlkrut59lz { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-mlkrut59lz] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-mlkrut59lz] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-mlkrut59lz] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-mlkrut59lz] { color: var(--text-secondary); }

.modal-body-content[b-mlkrut59lz] { flex: 1; overflow-y: auto; padding: 20px 24px; }

.field-grid[b-mlkrut59lz] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.field-item label[b-mlkrut59lz] {
    display: block; font-size: 11px; font-weight: 600; color: var(--text-muted);
    margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.3px;
}
.field-item .form-control[b-mlkrut59lz],
.field-item .form-select[b-mlkrut59lz] { font-size: 13px; padding: 7px 10px; border-radius: 6px; }

.modal-foot[b-mlkrut59lz] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-mlkrut59lz] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover[b-mlkrut59lz] { opacity: 0.9; }
.btn-modal-cancel[b-mlkrut59lz] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-mlkrut59lz] { background: var(--hover-bg); }

/* 태블릿 반응형 (768px 이하) */
@media (max-width: 768px) {
    .mgmt-page[b-mlkrut59lz] { padding: 12px 16px; }

    .mgmt-header[b-mlkrut59lz] {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .mgmt-header h4[b-mlkrut59lz] { font-size: 16px; }

    .header-actions[b-mlkrut59lz] {
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }

    .filter-select[b-mlkrut59lz] {
        width: 100%;
    }

    .btn-add[b-mlkrut59lz] {
        width: 100%;
        justify-content: center;
    }

    /* 태블릿: 테이블 가로 스크롤 */
    .mgmt-table-wrap[b-mlkrut59lz] { overflow-x: auto; }
    .mgmt-table[b-mlkrut59lz] { min-width: 600px; }

    .field-grid[b-mlkrut59lz] { grid-template-columns: 1fr; }
}

/* 모바일 반응형 (480px 이하) */
@media (max-width: 480px) {
    .mgmt-page[b-mlkrut59lz] { padding: 8px 12px; }

    .mgmt-header[b-mlkrut59lz] {
        flex-direction: column;
        gap: 8px;
    }

    .mgmt-header h4[b-mlkrut59lz] { font-size: 14px; }

    .header-actions[b-mlkrut59lz] {
        width: 100%;
        flex-direction: column;
        gap: 6px;
    }

    .filter-select[b-mlkrut59lz] {
        width: 100%;
        font-size: 13px;
    }

    .btn-add[b-mlkrut59lz] {
        width: 100%;
        padding: 10px 14px;
        font-size: 12px;
        justify-content: center;
    }

    /* 모바일: 테이블을 카드 목록으로 표시 */
    .mgmt-table-wrap[b-mlkrut59lz] {
        border-radius: 8px;
        padding: 0;
        border: none;
        background: transparent;
    }

    .mgmt-table[b-mlkrut59lz] {
        display: block;
        font-size: 12px;
    }

    .mgmt-table thead[b-mlkrut59lz] {
        display: none;
    }

    .mgmt-table tbody[b-mlkrut59lz] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 8px;
    }

    .mgmt-table tr[b-mlkrut59lz] {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 12px;
        border: 1px solid var(--border-color-light);
        border-radius: 8px;
        background: var(--bg-surface);
        border-bottom: none;
    }

    .mgmt-table tr:hover[b-mlkrut59lz] {
        background: var(--hover-bg);
    }

    .mgmt-table td[b-mlkrut59lz] {
        display: grid;
        grid-template-columns: 80px 1fr;
        gap: 8px;
        padding: 0;
        border-bottom: none;
        align-items: center;
        font-size: 12px;
    }

    .mgmt-table td[b-mlkrut59lz]::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--text-muted);
        font-size: 10px;
        text-transform: uppercase;
        word-break: break-word;
    }

    .mgmt-table td:first-child[b-mlkrut59lz] {
        display: none;
    }

    .action-btns[b-mlkrut59lz] {
        display: flex;
        gap: 6px;
        grid-column: 2;
        margin-top: 4px;
    }

    .btn-action[b-mlkrut59lz] {
        flex: 1;
        width: auto;
        height: 32px;
        font-size: 12px;
    }

    .group-badge[b-mlkrut59lz] {
        font-size: 10px;
        padding: 2px 6px;
    }

    .modal-panel[b-mlkrut59lz] {
        width: 95vw;
        max-width: none;
        border-radius: 12px;
        max-height: 95vh;
    }

    .modal-head[b-mlkrut59lz] {
        padding: 12px 16px;
    }

    .modal-head h5[b-mlkrut59lz] {
        font-size: 14px;
    }

    .modal-body-content[b-mlkrut59lz] {
        padding: 12px 16px;
    }

    .modal-foot[b-mlkrut59lz] {
        padding: 10px 16px;
        gap: 6px;
    }

    .btn-modal-save[b-mlkrut59lz],
    .btn-modal-cancel[b-mlkrut59lz] {
        padding: 8px 12px;
        font-size: 12px;
        flex: 1;
    }

    .field-grid[b-mlkrut59lz] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .field-item label[b-mlkrut59lz] {
        font-size: 10px;
        margin-bottom: 3px;
    }

    .field-item .form-control[b-mlkrut59lz],
    .field-item .form-select[b-mlkrut59lz] {
        font-size: 13px;
        padding: 6px 8px;
    }
}


/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-mlkrut59lz] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-mlkrut59lz] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-mlkrut59lz] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-mlkrut59lz] { display: flex; gap: 8px; }
.btn-do-print[b-mlkrut59lz] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-mlkrut59lz] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-mlkrut59lz] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-mlkrut59lz] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-mlkrut59lz] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-mlkrut59lz] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-mlkrut59lz] { font-size: 12px; color: #666; }
.rpt-section[b-mlkrut59lz] { margin-bottom: 32px; }
.rpt-section-title[b-mlkrut59lz] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-mlkrut59lz] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-mlkrut59lz], .rpt-table th[b-mlkrut59lz] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-mlkrut59lz] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-mlkrut59lz] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-mlkrut59lz] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-mlkrut59lz] { background: #f8f8f8; }
.rpt-footer[b-mlkrut59lz] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@media print {
    .no-print[b-mlkrut59lz] { display: none !important; }
    .status-print-overlay[b-mlkrut59lz] { position: static; background: #fff; }
    .print-paper[b-mlkrut59lz] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/SystemMgmt/MenuManagement.razor.rz.scp.css */
.mgmt-page[b-r03in733lp] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-r03in733lp] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-r03in733lp 0.3s ease;
}
.toast-success[b-r03in733lp] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-r03in733lp] { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-r03in733lp { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-r03in733lp] {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;
}
.mgmt-header h4[b-r03in733lp] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }

.btn-add[b-r03in733lp] {
    padding: 8px 20px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-add:hover[b-r03in733lp] { opacity: 0.9; }

.menu-mgmt-layout[b-r03in733lp] { display: grid; grid-template-columns: 380px 1fr; gap: 20px; align-items: start; }

.menu-tree-panel[b-r03in733lp], .menu-edit-panel[b-r03in733lp] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; min-height: 400px;
}
.panel-title[b-r03in733lp] {
    padding: 14px 18px; font-size: 12px; font-weight: 700; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 1px solid var(--border-color-light);
}
.tree-body[b-r03in733lp] { padding: 8px 0; max-height: 550px; overflow-y: auto; }

.tree-row[b-r03in733lp] {
    display: flex; align-items: center; gap: 8px; padding: 9px 18px;
    font-size: 13px; cursor: pointer; border-left: 3px solid transparent;
    color: var(--text-secondary); transition: background 0.1s;
}
.tree-row:hover[b-r03in733lp] { background: var(--hover-bg); }
.tree-row.active[b-r03in733lp] { background: var(--accent-soft); border-left-color: var(--accent); font-weight: 600; color: var(--accent); }
.tree-row.disabled-row[b-r03in733lp] { opacity: 0.45; }
.level-2[b-r03in733lp] { padding-left: 40px; }

.tree-row i[b-r03in733lp] { font-size: 15px; color: var(--accent); width: 18px; text-align: center; }
.sort-tag[b-r03in733lp] { margin-left: auto; font-size: 11px; color: var(--text-muted); background: var(--bg-main); padding: 1px 7px; border-radius: 4px; }
.off-tag[b-r03in733lp] { font-size: 10px; color: #ef4444; background: #fee2e2; padding: 1px 6px; border-radius: 4px; font-weight: 600; }
.url-tag[b-r03in733lp] { font-size: 11px; color: var(--text-muted); font-family: monospace; }

.empty-state[b-r03in733lp] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    height: 100%; min-height: 300px; gap: 10px; color: var(--text-muted); font-size: 14px;
}
.empty-state i[b-r03in733lp] { font-size: 32px; }

.edit-body[b-r03in733lp] { padding: 20px; color: var(--text-primary); }
.field-grid[b-r03in733lp] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.field-item label[b-r03in733lp] { display: block; font-size: 11.5px; font-weight: 600; color: var(--text-muted); margin-bottom: 4px; }
.field-item .form-control[b-r03in733lp], .field-item .form-select[b-r03in733lp] { font-size: 13px; padding: 8px 10px; border-radius: 6px; }

.edit-actions[b-r03in733lp] { margin-top: 16px; display: flex; justify-content: flex-end; }
.btn-save[b-r03in733lp] {
    padding: 9px 28px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-save:hover[b-r03in733lp] { opacity: 0.9; }

.modal-overlay[b-r03in733lp] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-r03in733lp 0.2s;
}
.modal-panel[b-r03in733lp] {
    background: var(--bg-surface); border-radius: 14px; width: 540px; max-width: 95vw;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-r03in733lp 0.25s ease;
    color: var(--text-primary);
}
@keyframes fadeIn-b-r03in733lp { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-r03in733lp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-r03in733lp] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-r03in733lp] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-r03in733lp] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.modal-body-content[b-r03in733lp] { padding: 20px 24px; }
.modal-foot[b-r03in733lp] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-r03in733lp] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover[b-r03in733lp] { opacity: 0.9; }
.btn-modal-cancel[b-r03in733lp] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-r03in733lp] { background: var(--hover-bg); }

/* 태블릿 반응형 (768px 이하) */
@media (max-width: 768px) {
    .mgmt-page[b-r03in733lp] { padding: 12px 16px; }

    .mgmt-header[b-r03in733lp] {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .mgmt-header h4[b-r03in733lp] { font-size: 16px; }

    .btn-add[b-r03in733lp] {
        width: 100%;
        padding: 10px 16px;
    }

    /* 태블릿: 세로 스택 레이아웃 */
    .menu-mgmt-layout[b-r03in733lp] {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .menu-tree-panel[b-r03in733lp],
    .menu-edit-panel[b-r03in733lp] {
        min-height: 300px;
        border-radius: 10px;
    }

    .tree-body[b-r03in733lp] { max-height: 350px; }

    .field-grid[b-r03in733lp] { grid-template-columns: 1fr; }

    .edit-actions[b-r03in733lp] {
        margin-top: 12px;
    }
}

/* 모바일 반응형 (480px 이하) */
@media (max-width: 480px) {
    .mgmt-page[b-r03in733lp] { padding: 8px 12px; }

    .mgmt-header[b-r03in733lp] {
        flex-direction: column;
        gap: 10px;
    }

    .mgmt-header h4[b-r03in733lp] { font-size: 14px; }

    .btn-add[b-r03in733lp] {
        width: 100%;
        padding: 10px 14px;
        font-size: 12px;
    }

    /* 모바일: 세로 스택 */
    .menu-mgmt-layout[b-r03in733lp] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .menu-tree-panel[b-r03in733lp],
    .menu-edit-panel[b-r03in733lp] {
        border-radius: 8px;
        min-height: auto;
    }

    .panel-title[b-r03in733lp] {
        padding: 10px 12px;
        font-size: 10.5px;
        border-radius: 8px 8px 0 0;
    }

    .tree-body[b-r03in733lp] {
        max-height: 300px;
        padding: 6px 0;
    }

    .tree-row[b-r03in733lp] {
        padding: 8px 12px;
        font-size: 12px;
        gap: 6px;
    }

    .tree-row i[b-r03in733lp] {
        font-size: 14px;
        width: 16px;
    }

    .level-1[b-r03in733lp] {
        font-weight: 600;
    }

    .level-2[b-r03in733lp] {
        padding-left: 32px;
        font-size: 11.5px;
    }

    .sort-tag[b-r03in733lp] {
        font-size: 10px;
        padding: 1px 5px;
    }

    .off-tag[b-r03in733lp] {
        font-size: 9px;
        padding: 1px 5px;
    }

    .empty-state[b-r03in733lp] {
        min-height: 200px;
        font-size: 13px;
    }

    .empty-state i[b-r03in733lp] {
        font-size: 28px;
    }

    .edit-body[b-r03in733lp] {
        padding: 12px;
    }

    .field-grid[b-r03in733lp] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .field-item label[b-r03in733lp] {
        font-size: 10.5px;
        margin-bottom: 3px;
    }

    .field-item .form-control[b-r03in733lp],
    .field-item .form-select[b-r03in733lp] {
        font-size: 13px;
        padding: 6px 8px;
    }

    .edit-actions[b-r03in733lp] {
        margin-top: 10px;
        justify-content: stretch;
    }

    .btn-save[b-r03in733lp] {
        width: 100%;
        padding: 8px 12px;
        font-size: 12px;
    }

    .modal-panel[b-r03in733lp] {
        width: 95vw;
        max-width: none;
        border-radius: 12px;
        max-height: 95vh;
    }

    .modal-head[b-r03in733lp] {
        padding: 12px 16px;
    }

    .modal-head h5[b-r03in733lp] {
        font-size: 14px;
    }

    .modal-body-content[b-r03in733lp] {
        padding: 12px 16px;
    }

    .modal-foot[b-r03in733lp] {
        padding: 10px 16px;
        gap: 6px;
    }

    .btn-modal-save[b-r03in733lp],
    .btn-modal-cancel[b-r03in733lp] {
        padding: 8px 12px;
        font-size: 12px;
        flex: 1;
    }
}
/* /Components/Pages/SystemMgmt/RoleManagement.razor.rz.scp.css */
.mgmt-page[b-ltf6jep1xx] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-ltf6jep1xx] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-ltf6jep1xx 0.3s ease;
}
.toast-success[b-ltf6jep1xx] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-ltf6jep1xx] { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-ltf6jep1xx { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-ltf6jep1xx] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-ltf6jep1xx] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }

.btn-excel[b-ltf6jep1xx] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-ltf6jep1xx] { opacity: 0.9; }
.btn-print[b-ltf6jep1xx] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-ltf6jep1xx] { opacity: 0.9; }

.btn-add[b-ltf6jep1xx] {
    padding: 8px 20px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-add:hover[b-ltf6jep1xx] { opacity: 0.9; }

.role-cards[b-ltf6jep1xx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }

.role-card[b-ltf6jep1xx] {
    background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 12px;
    padding: 20px; transition: box-shadow 0.2s;
}
.role-card:hover[b-ltf6jep1xx] { box-shadow: 0 4px 16px var(--shadow-sm); }
.card-disabled[b-ltf6jep1xx] { opacity: 0.55; }

.role-card-head[b-ltf6jep1xx] { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.role-name-badge[b-ltf6jep1xx] { padding: 4px 14px; border-radius: 6px; font-size: 14px; font-weight: 700; display: inline-block; }

.disabled-tag[b-ltf6jep1xx] { font-size: 11px; color: #ef4444; font-weight: 600; background: #fee2e2; padding: 2px 8px; border-radius: 4px; }

.role-card-desc[b-ltf6jep1xx] { font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; min-height: 20px; }
.role-card-meta[b-ltf6jep1xx] { display: flex; gap: 16px; font-size: 11.5px; color: var(--text-muted); margin-bottom: 14px; }
.role-card-actions[b-ltf6jep1xx] { display: flex; gap: 8px; }

.btn-edit[b-ltf6jep1xx] {
    padding: 6px 14px; background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 6px; font-size: 12px; font-weight: 600; color: var(--text-secondary); cursor: pointer;
}
.btn-edit:hover[b-ltf6jep1xx] { background: var(--accent); color: #fff; border-color: var(--accent); }

.modal-overlay[b-ltf6jep1xx] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-ltf6jep1xx 0.2s;
}
.modal-panel[b-ltf6jep1xx] {
    background: var(--bg-surface); border-radius: 14px; width: 500px; max-width: 95vw;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-ltf6jep1xx 0.25s ease;
    color: var(--text-primary);
}
@keyframes fadeIn-b-ltf6jep1xx { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-ltf6jep1xx { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-ltf6jep1xx] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-ltf6jep1xx] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-ltf6jep1xx] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }

.modal-body-content[b-ltf6jep1xx] { flex: 1; overflow-y: auto; padding: 20px 24px; max-height: 70vh; }

/* ── 색상 선택 영역 ── */
.color-field[b-ltf6jep1xx] { }

.color-picker-wrap[b-ltf6jep1xx] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    background: var(--bg-main);
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

.color-preview[b-ltf6jep1xx] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.color-preview[b-ltf6jep1xx]::before {
    content: '미리보기';
    font-size: 11px;
    color: var(--text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

/* 팔레트 스와치 그리드 */
.color-palette[b-ltf6jep1xx] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.color-swatch[b-ltf6jep1xx] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 14px;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
    padding: 0;
}

.color-swatch:hover[b-ltf6jep1xx] {
    transform: scale(1.15);
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.color-swatch.selected[b-ltf6jep1xx] {
    border-color: white;
    box-shadow: 0 0 0 3px rgba(0,0,0,0.3), 0 4px 12px rgba(0,0,0,0.2);
    transform: scale(1.1);
}

/* 직접 입력 행 */
.color-custom-row[b-ltf6jep1xx] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.color-custom-label[b-ltf6jep1xx] {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
    margin: 0 !important;
}

.color-input-native[b-ltf6jep1xx] {
    width: 40px;
    height: 32px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 2px;
    cursor: pointer;
    background: transparent;
}

.color-hex-label[b-ltf6jep1xx] {
    font-size: 12px;
    font-family: monospace;
    color: var(--text-secondary);
    font-weight: 600;
    letter-spacing: 0.5px;
}
.field-grid[b-ltf6jep1xx] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.field-item label[b-ltf6jep1xx] {
    display: block; font-size: 11px; font-weight: 600; color: var(--text-muted);
    margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.3px;
}
.field-item .form-control[b-ltf6jep1xx] { font-size: 13px; padding: 7px 10px; border-radius: 6px; }

.modal-foot[b-ltf6jep1xx] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-ltf6jep1xx] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover[b-ltf6jep1xx] { opacity: 0.9; }
.btn-modal-cancel[b-ltf6jep1xx] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-ltf6jep1xx] { background: var(--hover-bg); }

/* 태블릿 반응형 (768px 이하) */
@media (max-width: 768px) {
    .mgmt-page[b-ltf6jep1xx] { padding: 12px 16px; }

    .mgmt-header[b-ltf6jep1xx] {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .mgmt-header h4[b-ltf6jep1xx] { font-size: 16px; }

    .btn-add[b-ltf6jep1xx] {
        width: 100%;
        padding: 10px 16px;
    }

    .role-cards[b-ltf6jep1xx] {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 12px;
    }

    .role-card[b-ltf6jep1xx] {
        padding: 16px;
    }

    .role-card-head[b-ltf6jep1xx] {
        flex-wrap: wrap;
        gap: 6px;
    }

    .role-card-desc[b-ltf6jep1xx] {
        font-size: 12.5px;
    }

    .role-card-meta[b-ltf6jep1xx] {
        gap: 12px;
        font-size: 11px;
    }

    .field-grid[b-ltf6jep1xx] { grid-template-columns: 1fr; }
}

/* 모바일 반응형 (480px 이하) */
@media (max-width: 480px) {
    .mgmt-page[b-ltf6jep1xx] { padding: 8px 12px; }

    .mgmt-header[b-ltf6jep1xx] {
        flex-direction: column;
        gap: 10px;
    }

    .mgmt-header h4[b-ltf6jep1xx] { font-size: 14px; }

    .btn-add[b-ltf6jep1xx] {
        width: 100%;
        padding: 10px 14px;
        font-size: 12px;
    }

    .role-cards[b-ltf6jep1xx] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .role-card[b-ltf6jep1xx] {
        padding: 14px;
        border-radius: 10px;
    }

    .role-card-head[b-ltf6jep1xx] {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        margin-bottom: 10px;
    }

    .role-name-badge[b-ltf6jep1xx] {
        font-size: 13px;
        padding: 3px 10px;
    }

    .disabled-tag[b-ltf6jep1xx] {
        font-size: 10px;
    }

    .role-card-desc[b-ltf6jep1xx] {
        font-size: 12px;
        margin-bottom: 10px;
    }

    .role-card-meta[b-ltf6jep1xx] {
        flex-direction: column;
        gap: 6px;
        font-size: 11px;
        margin-bottom: 12px;
    }

    .role-card-actions[b-ltf6jep1xx] {
        gap: 6px;
    }

    .btn-edit[b-ltf6jep1xx] {
        flex: 1;
        padding: 8px 12px;
        font-size: 11.5px;
    }

    .modal-panel[b-ltf6jep1xx] {
        width: 95vw;
        max-width: none;
        border-radius: 12px;
        max-height: 95vh;
    }

    .modal-head[b-ltf6jep1xx] {
        padding: 12px 16px;
    }

    .modal-head h5[b-ltf6jep1xx] {
        font-size: 14px;
    }

    .modal-body-content[b-ltf6jep1xx] {
        padding: 12px 16px;
    }

    .color-picker-wrap[b-ltf6jep1xx] {
        padding: 10px;
        gap: 10px;
    }

    .color-swatch[b-ltf6jep1xx] {
        width: 28px;
        height: 28px;
        border-radius: 6px;
    }

    .color-palette[b-ltf6jep1xx] {
        gap: 6px;
    }

    .modal-foot[b-ltf6jep1xx] {
        padding: 10px 16px;
        gap: 6px;
    }

    .btn-modal-save[b-ltf6jep1xx],
    .btn-modal-cancel[b-ltf6jep1xx] {
        padding: 8px 12px;
        font-size: 12px;
        flex: 1;
    }

    .field-grid[b-ltf6jep1xx] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .field-item label[b-ltf6jep1xx] {
        font-size: 10px;
        margin-bottom: 3px;
    }

    .field-item .form-control[b-ltf6jep1xx] {
        font-size: 13px;
        padding: 6px 8px;
    }
}


/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-ltf6jep1xx] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-ltf6jep1xx] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-ltf6jep1xx] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-ltf6jep1xx] { display: flex; gap: 8px; }
.btn-do-print[b-ltf6jep1xx] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-ltf6jep1xx] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-ltf6jep1xx] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-ltf6jep1xx] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-ltf6jep1xx] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-ltf6jep1xx] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-ltf6jep1xx] { font-size: 12px; color: #666; }
.rpt-section[b-ltf6jep1xx] { margin-bottom: 32px; }
.rpt-section-title[b-ltf6jep1xx] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-ltf6jep1xx] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-ltf6jep1xx], .rpt-table th[b-ltf6jep1xx] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-ltf6jep1xx] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-ltf6jep1xx] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-ltf6jep1xx] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-ltf6jep1xx] { background: #f8f8f8; }
.rpt-footer[b-ltf6jep1xx] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@media print {
    .no-print[b-ltf6jep1xx] { display: none !important; }
    .status-print-overlay[b-ltf6jep1xx] { position: static; background: #fff; }
    .print-paper[b-ltf6jep1xx] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
/* /Components/Pages/SystemMgmt/RoleMenuPermission.razor.rz.scp.css */
.mgmt-page[b-n5c9ohqx8f] { padding: 20px 28px; color: var(--text-primary); }

.mgmt-toast[b-n5c9ohqx8f] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-n5c9ohqx8f 0.3s ease;
}
.toast-success[b-n5c9ohqx8f] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-n5c9ohqx8f] { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-n5c9ohqx8f { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-n5c9ohqx8f] { margin-bottom: 20px; }
.mgmt-header h4[b-n5c9ohqx8f] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }

.perm-layout[b-n5c9ohqx8f] { display: grid; grid-template-columns: 260px 1fr; gap: 20px; align-items: start; }

.role-list-panel[b-n5c9ohqx8f] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.panel-title[b-n5c9ohqx8f] {
    padding: 14px 18px; font-size: 12px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color-light);
    display: flex; align-items: center; gap: 6px;
}
.role-list-item[b-n5c9ohqx8f] {
    display: flex; align-items: center; gap: 10px; padding: 12px 18px;
    font-size: 13.5px; font-weight: 500; color: var(--text-secondary);
    cursor: pointer; border-bottom: 1px solid var(--border-color-light); transition: background 0.15s;
}
.role-list-item:hover[b-n5c9ohqx8f] { background: var(--hover-bg); }
.role-list-item.active[b-n5c9ohqx8f] {
    background: var(--accent-soft); color: var(--accent); font-weight: 700;
    border-left: 3px solid var(--accent);
}

.role-dot[b-n5c9ohqx8f] { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.dot-admin[b-n5c9ohqx8f] { background: #667eea; }
.dot-manager[b-n5c9ohqx8f] { background: #f59e0b; }
.dot-user[b-n5c9ohqx8f] { background: var(--text-muted); }

.menu-tree-panel[b-n5c9ohqx8f] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; min-height: 400px; display: flex; flex-direction: column;
}
.empty-state[b-n5c9ohqx8f] {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 10px; color: var(--text-muted); font-size: 14px;
}
.empty-state i[b-n5c9ohqx8f] { font-size: 32px; }

.panel-title-bar[b-n5c9ohqx8f] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; border-bottom: 1px solid var(--border-color-light);
}
.panel-actions[b-n5c9ohqx8f] { display: flex; gap: 6px; }
.btn-check-all[b-n5c9ohqx8f] {
    padding: 4px 12px; font-size: 11.5px; font-weight: 600;
    color: var(--text-secondary); background: var(--bg-main);
    border: 1px solid var(--border-color); border-radius: 6px; cursor: pointer;
}
.btn-check-all:hover[b-n5c9ohqx8f] { background: var(--hover-bg); }

.menu-tree-body[b-n5c9ohqx8f] { flex: 1; padding: 12px 18px; overflow-y: auto; max-height: 500px; }
.menu-tree-node[b-n5c9ohqx8f] { margin-bottom: 2px; }
.level-1[b-n5c9ohqx8f] { padding: 0; }
.level-2[b-n5c9ohqx8f] { padding-left: 28px; }

.tree-check[b-n5c9ohqx8f] {
    display: flex; align-items: center; gap: 8px; padding: 7px 8px;
    border-radius: 6px; cursor: pointer; font-size: 13px;
    color: var(--text-secondary); transition: background 0.1s;
}
.tree-check:hover[b-n5c9ohqx8f] { background: var(--hover-bg); }
.tree-check input[type="checkbox"][b-n5c9ohqx8f] { width: 16px; height: 16px; accent-color: var(--accent); flex-shrink: 0; }
.tree-check i[b-n5c9ohqx8f] { font-size: 15px; color: var(--accent); width: 18px; text-align: center; }

.level-1 > .tree-check[b-n5c9ohqx8f] { font-weight: 600; font-size: 13.5px; }
.level-2 > .tree-check[b-n5c9ohqx8f] { font-weight: 400; color: var(--text-secondary); }

.url-hint[b-n5c9ohqx8f] { font-size: 11px; color: var(--text-muted); margin-left: auto; font-family: monospace; }

.panel-footer[b-n5c9ohqx8f] {
    padding: 14px 18px; border-top: 1px solid var(--border-color-light);
    display: flex; justify-content: flex-end;
}
.btn-perm-save[b-n5c9ohqx8f] {
    padding: 9px 28px; background: linear-gradient(135deg, #667eea, #764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-perm-save:hover[b-n5c9ohqx8f] { opacity: 0.9; }

/* ���� ���� ���� ���̺� ���� */
.menu-perm-panel[b-n5c9ohqx8f] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; min-height: 400px; display: flex; flex-direction: column;
}

.perm-table-wrap[b-n5c9ohqx8f] { flex: 1; overflow-x: auto; padding: 0 4px; }

.perm-table[b-n5c9ohqx8f] {
    width: 100%; border-collapse: collapse; font-size: 13px;
}
.perm-table thead tr[b-n5c9ohqx8f] {
    background: var(--bg-main); border-bottom: 2px solid var(--border-color);
}
.perm-table th[b-n5c9ohqx8f] {
    padding: 10px 12px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.4px;
    white-space: nowrap;
}
.col-menu[b-n5c9ohqx8f]  { text-align: left; min-width: 200px; }
.col-perm[b-n5c9ohqx8f]  { text-align: center; width: 60px; }

.perm-table tbody tr[b-n5c9ohqx8f] { border-bottom: 1px solid var(--border-color-light); transition: background 0.1s; }
.perm-table tbody tr:hover[b-n5c9ohqx8f] { background: var(--hover-bg); }

.row-parent[b-n5c9ohqx8f] { background: var(--bg-main); }
.row-child[b-n5c9ohqx8f]  { background: var(--bg-surface); }
.row-no-access[b-n5c9ohqx8f] { opacity: 0.45; }

.cell-menu-name[b-n5c9ohqx8f] {
    padding: 9px 14px; color: var(--text-primary);
    display: flex; align-items: center; gap: 6px;
}
.cell-menu-name.child[b-n5c9ohqx8f] { padding-left: 36px; font-size: 12.5px; color: var(--text-secondary); }
.cell-menu-name i[b-n5c9ohqx8f] { font-size: 14px; color: var(--accent); flex-shrink: 0; }

.cell-perm[b-n5c9ohqx8f] { text-align: center; padding: 9px 6px; }

.perm-check[b-n5c9ohqx8f] {
    width: 16px; height: 16px; cursor: pointer;
    accent-color: var(--accent); vertical-align: middle;
}
.perm-check:disabled[b-n5c9ohqx8f] { cursor: not-allowed; opacity: 0.3; }

.access-check[b-n5c9ohqx8f] { accent-color: #667eea; }

/* 태블릿 반응형 (768px 이하) */
@media (max-width: 768px) {
    .mgmt-page[b-n5c9ohqx8f] { padding: 12px 16px; }

    .mgmt-header h4[b-n5c9ohqx8f] { font-size: 16px; }

    /* 태블릿: 역할 목록을 플렉스 박스 기반 칩 스타일로 변환 */
    .perm-layout[b-n5c9ohqx8f] {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .role-list-panel[b-n5c9ohqx8f] {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px;
        border-radius: 10px;
        background: var(--bg-surface);
        border: 1px solid var(--border-color);
    }

    .panel-title[b-n5c9ohqx8f] {
        display: none;
    }

    .role-list-item[b-n5c9ohqx8f] {
        border-bottom: none;
        border-radius: 8px;
        border: 1px solid var(--border-color);
        padding: 8px 12px;
        font-size: 12.5px;
        margin: 0;
        flex: 0 1 auto;
    }

    .role-list-item.active[b-n5c9ohqx8f] {
        border-left: none;
    }

    .menu-tree-panel[b-n5c9ohqx8f] {
        min-height: auto;
    }

    .menu-tree-body[b-n5c9ohqx8f] {
        max-height: 400px;
    }

    .perm-table-wrap[b-n5c9ohqx8f] {
        overflow-x: auto;
    }

    .col-menu[b-n5c9ohqx8f] { min-width: 140px; }
    .col-perm[b-n5c9ohqx8f] { width: 48px; }

    .perm-table th[b-n5c9ohqx8f] {
        padding: 8px 6px;
        font-size: 10px;
    }

    .cell-menu-name[b-n5c9ohqx8f] {
        padding: 8px 10px;
        font-size: 12px;
    }

    .cell-menu-name.child[b-n5c9ohqx8f] {
        padding-left: 24px;
    }

    .cell-perm[b-n5c9ohqx8f] {
        padding: 8px 4px;
    }

    .perm-check[b-n5c9ohqx8f] {
        width: 14px;
        height: 14px;
    }
}

/* 모바일 반응형 (480px 이하) */
@media (max-width: 480px) {
    .mgmt-page[b-n5c9ohqx8f] { padding: 8px 12px; }

    .mgmt-header h4[b-n5c9ohqx8f] { font-size: 14px; }

    /* 모바일: 세로 스택 */
    .perm-layout[b-n5c9ohqx8f] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    /* 역할 목록을 모바일 칩으로 표시 */
    .role-list-panel[b-n5c9ohqx8f] {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        padding: 10px;
        border-radius: 8px;
        background: var(--bg-surface);
        border: 1px solid var(--border-color);
    }

    .panel-title[b-n5c9ohqx8f] {
        display: none;
    }

    .role-list-item[b-n5c9ohqx8f] {
        border-bottom: none;
        border-radius: 6px;
        border: 1px solid var(--border-color);
        padding: 6px 10px;
        font-size: 11.5px;
        font-weight: 400;
        margin: 0;
        flex: 0 1 auto;
        color: var(--text-secondary);
        transition: all 0.15s;
    }

    .role-list-item:hover[b-n5c9ohqx8f] {
        background: var(--hover-bg);
    }

    .role-list-item.active[b-n5c9ohqx8f] {
        background: var(--accent-soft);
        color: var(--accent);
        font-weight: 600;
        border-color: var(--accent);
        border-left: 1px solid var(--accent);
    }

    .role-dot[b-n5c9ohqx8f] {
        width: 8px;
        height: 8px;
    }

    /* 메뉴 트리 패널 */
    .menu-tree-panel[b-n5c9ohqx8f] {
        border-radius: 8px;
        min-height: auto;
    }

    .panel-title-bar[b-n5c9ohqx8f] {
        padding: 10px 12px;
    }

    .menu-tree-body[b-n5c9ohqx8f] {
        max-height: 350px;
        padding: 8px 12px;
    }

    .btn-check-all[b-n5c9ohqx8f] {
        padding: 4px 10px;
        font-size: 10px;
        border-radius: 5px;
    }

    /* 권한 테이블 */
    .menu-perm-panel[b-n5c9ohqx8f] {
        border-radius: 8px;
        min-height: auto;
    }

    .perm-table-wrap[b-n5c9ohqx8f] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0;
    }

    .perm-table[b-n5c9ohqx8f] {
        font-size: 11px;
        min-width: 500px;
    }

    .perm-table th[b-n5c9ohqx8f] {
        padding: 6px 4px;
        font-size: 9.5px;
        white-space: nowrap;
    }

    .col-menu[b-n5c9ohqx8f] {
        min-width: 120px;
        text-align: left;
    }

    .col-perm[b-n5c9ohqx8f] {
        width: 40px;
        text-align: center;
    }

    .cell-menu-name[b-n5c9ohqx8f] {
        padding: 6px 8px;
        font-size: 11px;
        gap: 4px;
    }

    .cell-menu-name i[b-n5c9ohqx8f] {
        font-size: 12px;
    }

    .cell-menu-name.child[b-n5c9ohqx8f] {
        padding-left: 20px;
        font-size: 10.5px;
    }

    .cell-perm[b-n5c9ohqx8f] {
        padding: 6px 2px;
        text-align: center;
    }

    .perm-check[b-n5c9ohqx8f] {
        width: 13px;
        height: 13px;
    }

    .url-hint[b-n5c9ohqx8f] {
        display: none;
    }

    .level-2[b-n5c9ohqx8f] {
        padding-left: 16px;
    }

    .tree-check[b-n5c9ohqx8f] {
        padding: 5px 6px;
        font-size: 12px;
        gap: 6px;
    }

    .tree-check input[type="checkbox"][b-n5c9ohqx8f] {
        width: 14px;
        height: 14px;
    }

    .tree-check i[b-n5c9ohqx8f] {
        font-size: 13px;
        width: 16px;
    }

    .level-1 > .tree-check[b-n5c9ohqx8f] {
        font-size: 12px;
    }

    .level-2 > .tree-check[b-n5c9ohqx8f] {
        font-size: 11.5px;
    }

    .panel-footer[b-n5c9ohqx8f] {
        padding: 10px 12px;
    }

    .btn-perm-save[b-n5c9ohqx8f] {
        width: 100%;
        padding: 8px 12px;
        font-size: 12px;
    }

    /* 행 배경 색상 조정 */
    .row-parent[b-n5c9ohqx8f] {
        background: var(--bg-main);
    }

    .row-child[b-n5c9ohqx8f] {
        background: var(--bg-surface);
    }
}
/* /Components/Pages/SystemMgmt/UserManagement.razor.rz.scp.css */
.mgmt-page[b-i56adugi6e] {
    padding: 20px 28px;
    color: var(--text-primary);
}

.mgmt-toast[b-i56adugi6e] {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 18px; border-radius: 8px; margin-bottom: 16px;
    font-size: 13.5px; font-weight: 500; animation: toastIn-b-i56adugi6e 0.3s ease;
}
.toast-success[b-i56adugi6e] { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.toast-error[b-i56adugi6e] { background: #fce4ec; color: #c62828; border: 1px solid #ef9a9a; }
@keyframes toastIn-b-i56adugi6e { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.mgmt-header[b-i56adugi6e] {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.mgmt-header h4[b-i56adugi6e] { margin: 0; font-size: 18px; font-weight: 700; color: var(--text-primary); }
.mgmt-header .text-muted[b-i56adugi6e] { font-size: 12.5px; color: var(--text-muted); }

.header-actions[b-i56adugi6e] { display: flex; gap: 10px; align-items: center; }
.btn-excel[b-i56adugi6e] { padding: 8px 14px; background: #217346; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-excel:hover[b-i56adugi6e] { opacity: 0.9; }
.btn-print[b-i56adugi6e] { padding: 8px 14px; background: #1565c0; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btn-print:hover[b-i56adugi6e] { opacity: 0.9; }

.search-input[b-i56adugi6e] {
    width: 240px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}
.filter-select[b-i56adugi6e] {
    width: 140px; font-size: 13px; padding: 7px 12px;
    border-radius: 8px; border: 1px solid var(--border-color);
    background: var(--bg-input); color: var(--text-primary);
}

.mgmt-table-wrap[b-i56adugi6e] {
    background: var(--bg-surface); border: 1px solid var(--border-color);
    border-radius: 12px; overflow: hidden;
}
.mgmt-table[b-i56adugi6e] { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text-primary); }
.mgmt-table thead[b-i56adugi6e] { background: var(--bg-main); border-bottom: 2px solid var(--border-color); }
.mgmt-table th[b-i56adugi6e] {
    padding: 11px 14px; font-size: 11.5px; font-weight: 700;
    color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.mgmt-table td[b-i56adugi6e] { padding: 10px 14px; border-bottom: 1px solid var(--border-color-light); vertical-align: middle; }
.mgmt-table tbody tr:hover[b-i56adugi6e] { background: var(--hover-bg); }
.row-disabled[b-i56adugi6e] { opacity: 0.55; }

.status-badge[b-i56adugi6e] { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.status-active[b-i56adugi6e] { background: #e8f5e9; color: #2e7d32; }
.status-suspended[b-i56adugi6e] { background: #fff3e0; color: #e65100; }
.status-resigned[b-i56adugi6e] { background: #f3e5f5; color: #7b1fa2; }

.role-badge[b-i56adugi6e] { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; margin-right: 3px; }
.badge-admin[b-i56adugi6e] { background: #667eea; color: #fff; }
.badge-manager[b-i56adugi6e] { background: #f59e0b; color: #fff; }
.badge-user[b-i56adugi6e] { background: var(--border-color); color: var(--text-secondary); }

.action-btns[b-i56adugi6e] { display: flex; gap: 4px; }
.btn-action[b-i56adugi6e] {
    width: 30px; height: 30px; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-surface); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: all 0.15s;
}
.btn-action:hover[b-i56adugi6e] { border-color: var(--text-muted); }
.btn-detail[b-i56adugi6e] { color: var(--accent); }
.btn-detail:hover[b-i56adugi6e] { background: var(--accent); color: #fff; border-color: var(--accent); }
.btn-warn[b-i56adugi6e] { color: #e65100; }
.btn-warn:hover[b-i56adugi6e] { background: #e65100; color: #fff; border-color: #e65100; }
.btn-ok[b-i56adugi6e] { color: #2e7d32; }
.btn-ok:hover[b-i56adugi6e] { background: #2e7d32; color: #fff; border-color: #2e7d32; }
.btn-reset[b-i56adugi6e] { color: #7b1fa2; }
.btn-reset:hover[b-i56adugi6e] { background: #7b1fa2; color: #fff; border-color: #7b1fa2; }

.modal-overlay[b-i56adugi6e] {
    position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 9000;
    display: flex; align-items: center; justify-content: center; animation: fadeIn-b-i56adugi6e 0.2s;
    overflow-y: auto;
    padding: 16px;
}
.modal-panel[b-i56adugi6e] {
    background: var(--bg-surface); border-radius: 14px; width: 640px; max-width: 95vw;
    max-height: 85vh;
    max-height: min(85vh, calc(100dvh - 32px)); display: flex; flex-direction: column;
    min-height: 0;
    box-shadow: 0 16px 48px rgba(0,0,0,0.18); animation: slideUp-b-i56adugi6e 0.25s ease;
    color: var(--text-primary);
}
@keyframes fadeIn-b-i56adugi6e { from { opacity:0; } to { opacity:1; } }
@keyframes slideUp-b-i56adugi6e { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

.modal-head[b-i56adugi6e] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 18px 24px; border-bottom: 1px solid var(--border-color);
}
.modal-head h5[b-i56adugi6e] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary); }
.btn-close-modal[b-i56adugi6e] { background: none; border: none; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.btn-close-modal:hover[b-i56adugi6e] { color: var(--text-secondary); }

.modal-body-content[b-i56adugi6e] { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px; }

.detail-section[b-i56adugi6e] { margin-bottom: 20px; }
.detail-section h6[b-i56adugi6e] {
    font-size: 13px; font-weight: 700; color: var(--text-secondary);
    margin-bottom: 12px; display: flex; align-items: center; gap: 6px;
}
.detail-section h6 i[b-i56adugi6e] { color: var(--accent); }

.detail-grid[b-i56adugi6e] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.detail-item label[b-i56adugi6e] {
    display: block; font-size: 11px; font-weight: 600; color: var(--text-muted);
    margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.3px;
}
.detail-item .form-control[b-i56adugi6e] { font-size: 13px; padding: 7px 10px; border-radius: 6px; }

.role-checks[b-i56adugi6e] { display: flex; flex-direction: column; gap: 8px; }
.role-check-item[b-i56adugi6e] { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 13px; color: var(--text-primary); }
.role-check-item input[type="checkbox"][b-i56adugi6e] { width: 16px; height: 16px; accent-color: var(--accent); }

.btn-resign[b-i56adugi6e] {
    padding: 6px 16px; background: #c62828; color: #fff; border: none;
    border-radius: 6px; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.btn-resign:hover[b-i56adugi6e] { opacity: 0.85; }

.modal-foot[b-i56adugi6e] {
    padding: 14px 24px; border-top: 1px solid var(--border-color);
    display: flex; gap: 8px; justify-content: flex-end;
}
.btn-modal-save[b-i56adugi6e] {
    padding: 8px 24px; background: linear-gradient(135deg,#667eea,#764ba2);
    color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-save:hover[b-i56adugi6e] { opacity: 0.9; }
.btn-modal-cancel[b-i56adugi6e] {
    padding: 8px 24px; background: var(--bg-surface); color: var(--text-secondary);
    border: 1px solid var(--border-color); border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer;
}
.btn-modal-cancel:hover[b-i56adugi6e] { background: var(--hover-bg); }

/* 태블릿 반응형 (768px 이하) */
@media (max-width: 768px) {
    .mgmt-page[b-i56adugi6e] { padding: 12px 16px; }

    .mgmt-header[b-i56adugi6e] {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .mgmt-header > div:first-child[b-i56adugi6e] {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .mgmt-header h4[b-i56adugi6e] { font-size: 16px; }

    .header-actions[b-i56adugi6e] {
        width: 100%;
        flex-direction: column;
        gap: 8px;
    }

    .search-input[b-i56adugi6e], .filter-select[b-i56adugi6e] { width: 100%; }

    /* 태블릿: 테이블 가로 스크롤 */
    .mgmt-table-wrap[b-i56adugi6e] { overflow-x: auto; }
    .mgmt-table[b-i56adugi6e] { min-width: 600px; }

    .detail-grid[b-i56adugi6e] { grid-template-columns: 1fr; }
    .detail-item[style*="span 2"][b-i56adugi6e] { grid-column: span 1; }

    .modal-panel[b-i56adugi6e] {
        width: 90vw;
        max-width: 500px;
        max-height: 90vh;
        max-height: min(90vh, calc(100dvh - 32px));
    }
}

@media (max-height: 720px) and (orientation: landscape) {
    .modal-overlay[b-i56adugi6e] {
        align-items: flex-start;
        padding: 10px 14px;
    }

    .modal-panel[b-i56adugi6e] {
        max-height: calc(100vh - 20px);
        max-height: calc(100dvh - 20px);
    }

    .modal-head[b-i56adugi6e] {
        padding: 12px 18px;
    }

    .modal-body-content[b-i56adugi6e] {
        padding: 14px 18px;
    }

    .modal-foot[b-i56adugi6e] {
        padding: 10px 18px;
        flex-shrink: 0;
    }

    .detail-section[b-i56adugi6e] {
        margin-bottom: 14px;
    }
}

/* 모바일 반응형 (480px 이하) */
@media (max-width: 480px) {
    .mgmt-page[b-i56adugi6e] { padding: 8px 12px; }

    .mgmt-header[b-i56adugi6e] {
        flex-direction: column;
        gap: 8px;
    }

    .mgmt-header > div:first-child[b-i56adugi6e] {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .mgmt-header h4[b-i56adugi6e] { font-size: 14px; margin-bottom: 4px; }

    .header-actions[b-i56adugi6e] {
        width: 100%;
        flex-direction: column;
        gap: 6px;
    }

    .search-input[b-i56adugi6e], .filter-select[b-i56adugi6e] {
        width: 100%;
        font-size: 14px;
    }

    /* 모바일: 테이블을 카드 목록으로 표시 */
    .mgmt-table-wrap[b-i56adugi6e] {
        border-radius: 8px;
        padding: 0;
    }

    .mgmt-table[b-i56adugi6e] {
        display: block;
        font-size: 12px;
    }

    .mgmt-table thead[b-i56adugi6e] {
        display: none;
    }

    .mgmt-table tbody[b-i56adugi6e] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 8px;
    }

    .mgmt-table tr[b-i56adugi6e] {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 12px;
        border: 1px solid var(--border-color-light);
        border-radius: 8px;
        background: var(--bg-surface);
        border-bottom: none;
    }

    .mgmt-table tr:hover[b-i56adugi6e] {
        background: var(--hover-bg);
    }

    .mgmt-table td[b-i56adugi6e] {
        display: grid;
        grid-template-columns: 100px 1fr;
        gap: 8px;
        padding: 0;
        border-bottom: none;
        align-items: center;
    }

    .mgmt-table td[b-i56adugi6e]::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--text-muted);
        font-size: 10px;
        text-transform: uppercase;
    }

    .mgmt-table td.col-no[b-i56adugi6e] {
        display: none;
    }

    .mgmt-table td.col-action[b-i56adugi6e] {
        grid-template-columns: 1fr;
        margin-top: 4px;
    }

    .mgmt-table td.col-action[b-i56adugi6e]::before {
        content: "관리";
    }

    .action-btns[b-i56adugi6e] {
        display: flex;
        gap: 6px;
        width: 100%;
    }

    .btn-action[b-i56adugi6e] {
        flex: 1;
        width: auto;
        height: 32px;
        font-size: 12px;
    }

    .role-badge[b-i56adugi6e] {
        font-size: 10px;
        padding: 2px 6px;
        margin-right: 2px;
    }

    .status-badge[b-i56adugi6e] {
        font-size: 10px;
        padding: 2px 8px;
    }

    .modal-panel[b-i56adugi6e] {
        width: 95vw;
        max-width: none;
        border-radius: 12px;
        max-height: 95vh;
        max-height: min(95vh, calc(100dvh - 20px));
    }

    .modal-head[b-i56adugi6e] {
        padding: 12px 16px;
    }

    .modal-head h5[b-i56adugi6e] {
        font-size: 14px;
    }

    .modal-body-content[b-i56adugi6e] {
        padding: 12px 16px;
    }

    .modal-foot[b-i56adugi6e] {
        padding: 10px 16px;
        gap: 6px;
    }

    .btn-modal-save[b-i56adugi6e],
    .btn-modal-cancel[b-i56adugi6e] {
        padding: 8px 12px;
        font-size: 12px;
        flex: 1;
    }

    .detail-grid[b-i56adugi6e] {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .detail-item label[b-i56adugi6e] {
        font-size: 10px;
        margin-bottom: 3px;
    }

    .detail-item .form-control[b-i56adugi6e] {
        font-size: 13px;
        padding: 6px 8px;
    }

    .detail-section[b-i56adugi6e] {
        margin-bottom: 16px;
    }

    .detail-section h6[b-i56adugi6e] {
        font-size: 12px;
        margin-bottom: 8px;
    }

    .role-checks[b-i56adugi6e] {
        gap: 6px;
    }

    .role-check-item[b-i56adugi6e] {
        font-size: 12px;
        gap: 6px;
    }

    .btn-resign[b-i56adugi6e] {
        width: 100%;
        padding: 8px 12px;
        font-size: 12px;
    }
}


/* ===== 인쇄 미리보기 ===== */
.status-print-overlay[b-i56adugi6e] { position: fixed; inset: 0; background: #e8e8e8; z-index: 9999; overflow-y: auto; }
.print-toolbar[b-i56adugi6e] { position: sticky; top: 0; background: #1a1a2e; color: #fff; padding: 12px 28px; display: flex; justify-content: space-between; align-items: center; z-index: 1; }
.print-title-bar[b-i56adugi6e] { font-size: 14px; font-weight: 600; }
.print-toolbar-btns[b-i56adugi6e] { display: flex; gap: 8px; }
.btn-do-print[b-i56adugi6e] { padding: 8px 20px; background: #217346; color: #fff; border: none; border-radius: 7px; font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.btn-close-print[b-i56adugi6e] { padding: 8px 20px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: 7px; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.print-paper[b-i56adugi6e] { max-width: 900px; margin: 28px auto 60px; background: #fff; padding: 52px; border-radius: 4px; box-shadow: 0 2px 16px rgba(0,0,0,0.12); color: #111; font-size: 13px; }
.rpt-header[b-i56adugi6e] { text-align: center; margin-bottom: 36px; border-bottom: 2px solid #1a1a2e; padding-bottom: 20px; }
.rpt-company[b-i56adugi6e] { font-size: 12px; color: #666; margin-bottom: 4px; }
.rpt-title[b-i56adugi6e] { font-size: 22px; font-weight: 700; color: #1a1a2e; margin: 8px 0; }
.rpt-meta[b-i56adugi6e] { font-size: 12px; color: #666; }
.rpt-section[b-i56adugi6e] { margin-bottom: 32px; }
.rpt-section-title[b-i56adugi6e] { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid #ccc; }
.rpt-table[b-i56adugi6e] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rpt-table td[b-i56adugi6e], .rpt-table th[b-i56adugi6e] { padding: 7px 12px; border: 1px solid #d0d0d0; }
.rpt-label[b-i56adugi6e] { background: #f0f0f0; font-weight: 600; width: 120px; }
.rpt-data-table thead[b-i56adugi6e] { background: #1a1a2e; color: #fff; }
.rpt-data-table th[b-i56adugi6e] { font-weight: 600; font-size: 11.5px; }
.rpt-data-table tbody tr:nth-child(even)[b-i56adugi6e] { background: #f8f8f8; }
.rpt-footer[b-i56adugi6e] { margin-top: 40px; padding-top: 12px; border-top: 1px solid #ccc; text-align: center; font-size: 11px; color: #888; }
@media print {
    .no-print[b-i56adugi6e] { display: none !important; }
    .status-print-overlay[b-i56adugi6e] { position: static; background: #fff; }
    .print-paper[b-i56adugi6e] { max-width: none; margin: 0; padding: 15mm; box-shadow: none; }
}
