body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #f4f6f8;
    color: #111827;
}

.login-wrap {
    max-width: 420px;
    margin: 0 auto;
    padding: 44px 18px;
}

.brand-box {
    background: #111827;
    color: white;
    padding: 24px 20px;
    border-radius: 20px;
    margin-bottom: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
}

.brand-title {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 8px;
}

.brand-desc {
    font-size: 14px;
    line-height: 1.5;
    opacity: 0.85;
}

.login-card {
    background: white;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
}

.label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin: 14px 0 7px;
}

.input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    padding: 13px 12px;
    font-size: 16px;
    outline: none;
}

.input:focus {
    border-color: #111827;
}

.button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 14px 12px;
    margin-top: 20px;
    background: #111827;
    color: white;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

.button:active {
    transform: scale(0.99);
}

.links {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    font-size: 14px;
}

.links a {
    color: #374151;
    text-decoration: none;
}

.notice {
    margin-top: 18px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
}

.alert {
    border-radius: 12px;
    padding: 12px 12px;
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.5;
}

.alert-error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.alert-success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.notice-box {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.7;
    color: #374151;
}

.input[name="sms_code"] {
    letter-spacing: 4px;
    font-size: 20px;
    font-weight: 800;
    text-align: center;
}

.page-wrap {
    max-width: 720px;
    margin: 0 auto;
    padding: 32px 18px;
}

.top-user-box {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 14px;
}

.role-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 12px;
    font-weight: 800;
}

.logout-link {
    color: white;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
}

.section-block {
    margin-top: 22px;
}

.section-title {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 12px;
}

.program-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 10px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.program-title {
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 6px;
}

.program-subtitle {
    font-size: 13px;
    color: #4b5563;
    margin-bottom: 6px;
}

.program-path {
    font-size: 12px;
    color: #6b7280;
    word-break: break-all;
}

.admin-menu-card {
    display: block;
    background: white;
    color: #111827;
    text-decoration: none;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 10px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.admin-user-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.admin-user-main {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.admin-action-row {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.admin-action-row form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.small-button {
    border: 0;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.approve-button {
    background: #065f46;
    color: white;
}

.reject-button {
    background: #991b1b;
    color: white;
}

.small-input {
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 10px 10px;
    font-size: 14px;
    min-width: 180px;
}

.recent-user-row {
    background: white;
    border-radius: 14px;
    padding: 13px 14px;
    margin-bottom: 8px;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
}

.status-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.status-pending {
    background: #fef3c7;
    color: #92400e;
}

.status-approved {
    background: #d1fae5;
    color: #065f46;
}

.status-rejected {
    background: #fee2e2;
    color: #991b1b;
}

.status-disabled {
    background: #e5e7eb;
    color: #374151;
}

.bottom-links {
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    font-size: 14px;
}

.bottom-links a {
    color: #374151;
    text-decoration: none;
    font-weight: 700;
}

.program-card-link {
    display: block;
    color: #111827;
    text-decoration: none;
}

.program-card-link:hover {
    transform: translateY(-1px);
}

.file-row {
    background: white;
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 8px;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
}

.file-name {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 5px;
    word-break: break-all;
}

.log-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.log-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 6px;
}

.log-box {
    margin: 12px 0 0;
    padding: 12px;
    border-radius: 12px;
    background: #111827;
    color: #e5e7eb;
    font-size: 12px;
    line-height: 1.5;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 420px;
    overflow-y: auto;
}

.diagnostic-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.diagnostic-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 8px;
}

.diagnostic-row {
    padding: 10px 0;
    border-top: 1px solid #f3f4f6;
}

.diagnostic-row:first-of-type {
    border-top: 0;
}

.diagnostic-ok,
.diagnostic-warn,
.diagnostic-bad {
    margin-top: 7px;
    display: inline-block;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 800;
}

.diagnostic-ok {
    background: #d1fae5;
    color: #065f46;
}

.diagnostic-warn {
    background: #fef3c7;
    color: #92400e;
}

.diagnostic-bad {
    background: #fee2e2;
    color: #991b1b;
}

.file-mini-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid #f3f4f6;
    font-size: 13px;
}

.file-mini-row:first-of-type {
    border-top: 0;
}

.file-mini-row span {
    color: #6b7280;
    white-space: nowrap;
}

.file-row-with-action {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
}

.file-main {
    min-width: 0;
    flex: 1;
}

.download-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    border-radius: 999px;
    padding: 9px 12px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.download-button:active {
    transform: scale(0.98);
}

@media (max-width: 520px) {
    .file-row-with-action {
        align-items: stretch;
        flex-direction: column;
    }

    .download-button {
        width: 100%;
        box-sizing: border-box;
    }
}

.quick-action-row {
    display: flex;
    gap: 8px;
    margin: 16px 0 4px;
    flex-wrap: wrap;
}

.refresh-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 10px 14px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.12);
}

.secondary-refresh-button {
    background: white;
    color: #111827;
    border: 1px solid #d1d5db;
    box-shadow: none;
}

.refresh-button:active,
.mini-refresh-link:active {
    transform: scale(0.98);
}

.section-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
}

.section-title-row .section-title {
    margin: 0;
}

.mini-refresh-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 7px 10px;
    background: white;
    color: #111827;
    border: 1px solid #d1d5db;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .quick-action-row {
        flex-direction: column;
    }

    .refresh-button {
        width: 100%;
        box-sizing: border-box;
    }
}

.run-alert {
    border-radius: 14px;
    padding: 12px 14px;
    margin: 12px 0 8px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}

.run-alert-success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.run-alert-warning {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

.run-alert-failed {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.run-command-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.run-command-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.run-command-button {
    border: 0;
    border-radius: 999px;
    padding: 10px 14px;
    background: #111827;
    color: white;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.run-command-button:active {
    transform: scale(0.98);
}

.run-warning-box {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 12px;
    font-size: 13px;
    line-height: 1.6;
}

.run-command-button-disabled,
.run-command-button:disabled {
    background: #9ca3af;
    color: white;
    cursor: not-allowed;
    transform: none;
}

.run-command-safe_test {
    background: #065f46;
}

.run-command-safe_test:hover {
    background: #047857;
}

.run-command-server_tick {
    background: #b45309;
}

.run-command-server_tick:hover {
    background: #92400e;
}

.safe-run-card,
.danger-run-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.safe-run-card {
    border: 1px solid #a7f3d0;
    background: #f0fdf4;
}

.danger-run-card {
    border: 1px solid #fde68a;
    background: #fff7ed;
}

.run-area-title {
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 8px;
    color: #111827;
}

.danger-run-card .run-warning-box {
    background: #fffbeb;
}

.safe-run-card .program-subtitle {
    color: #065f46;
    font-weight: 700;
}

.run-history-card {
    background: white;
    border-radius: 16px;
    padding: 14px 16px;
    margin-bottom: 10px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.run-history-main {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.run-history-title {
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 6px;
}

.run-status-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.run-status-success {
    background: #d1fae5;
    color: #065f46;
}

.run-status-failed {
    background: #fee2e2;
    color: #991b1b;
}

.run-detail-box {
    margin-top: 12px;
    border-top: 1px solid #e5e7eb;
    padding-top: 10px;
}

.run-detail-box summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    color: #111827;
}

.run-detail-title {
    margin: 10px 0 6px;
    font-size: 12px;
    font-weight: 800;
    color: #374151;
}

.run-detail-pre {
    max-height: 260px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    background: #111827;
    color: white;
    border-radius: 12px;
    padding: 12px;
    font-size: 12px;
    line-height: 1.5;
}

.run-detail-error {
    background: #7f1d1d;
}

.danger-unlock-box {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: white;
    border: 1px dashed #f59e0b;
    color: #92400e;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
    cursor: pointer;
}

.danger-unlock-box input {
    margin-top: 2px;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.actual-run-command-button:disabled,
.actual-run-command-button-locked {
    background: #d1d5db;
    color: #6b7280;
    cursor: not-allowed;
    box-shadow: none;
}

.actual-run-command-button:disabled:active {
    transform: none;
}

.real-run-lock-notice {
    margin: 10px 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #fca5a5;
    background: #fef2f2;
    color: #991b1b;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.lock-status-card {
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 18px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.lock-status-clear {
    background: #f0fdf4;
    border: 1px solid #86efac;
}

.lock-status-active {
    background: #fff7ed;
    border: 1px solid #fdba74;
}

.lock-status-stale {
    background: #fef2f2;
    border: 1px solid #fca5a5;
}

.lock-status-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    color: #111827;
}

.lock-status-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}

.lock-status-badge-clear {
    background: #bbf7d0;
    color: #166534;
}

.lock-status-badge-active {
    background: #fed7aa;
    color: #9a3412;
}

.lock-status-badge-stale {
    background: #fecaca;
    color: #991b1b;
}

.lock-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0;
}

.lock-status-grid div {
    background: rgba(255, 255, 255, 0.75);
    border-radius: 12px;
    padding: 10px;
}

.lock-status-grid span {
    display: block;
    font-size: 11px;
    color: #6b7280;
    margin-bottom: 4px;
}

.lock-status-grid strong {
    display: block;
    font-size: 12px;
    color: #111827;
    word-break: break-word;
}

.lock-warning-text {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.75);
    color: #92400e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.stale-lock-release-form {
    margin-top: 12px;
}

.stale-lock-release-button {
    border: 0;
    border-radius: 999px;
    padding: 10px 14px;
    background: #991b1b;
    color: white;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.stale-lock-release-button:active {
    transform: scale(0.98);
}

.lock-detail-box {
    margin-top: 12px;
}

.lock-detail-box summary {
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    color: #111827;
}

.lock-detail-box pre {
    margin-top: 8px;
    max-height: 240px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    background: #111827;
    color: white;
    border-radius: 12px;
    padding: 12px;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 520px) {
    .run-command-row {
        flex-direction: column;
    }

    .run-command-button {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .lock-status-grid {
        grid-template-columns: 1fr;
    }
}

.log-summary-count-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.log-summary-count-card {
    background: white;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    border: 1px solid #e5e7eb;
}

.log-summary-count-card span {
    display: block;
    font-size: 11px;
    color: #6b7280;
    font-weight: 800;
    margin-bottom: 4px;
}

.log-summary-count-card strong {
    display: block;
    font-size: 20px;
    color: #111827;
    font-weight: 900;
}

.log-summary-count-error {
    border-color: #fecaca;
    background: #fef2f2;
}

.log-summary-count-warning {
    border-color: #fde68a;
    background: #fffbeb;
}

.log-summary-count-mail {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.log-summary-count-run {
    border-color: #ddd6fe;
    background: #f5f3ff;
}

.log-summary-count-file {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.log-event-card {
    background: white;
    border-radius: 16px;
    padding: 13px 14px;
    margin-bottom: 8px;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
    border-left: 5px solid #d1d5db;
}

.log-event-error {
    border-left-color: #dc2626;
}

.log-event-warning {
    border-left-color: #f59e0b;
}

.log-event-mail {
    border-left-color: #2563eb;
}

.log-event-run {
    border-left-color: #7c3aed;
}

.log-event-file {
    border-left-color: #059669;
}

.log-event-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.log-event-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 900;
}

.log-event-badge-error {
    background: #fee2e2;
    color: #991b1b;
}

.log-event-badge-warning {
    background: #fef3c7;
    color: #92400e;
}

.log-event-badge-mail {
    background: #dbeafe;
    color: #1d4ed8;
}

.log-event-badge-run {
    background: #ede9fe;
    color: #6d28d9;
}

.log-event-badge-file {
    background: #d1fae5;
    color: #065f46;
}

.log-event-source {
    color: #6b7280;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.log-event-line {
    font-size: 12px;
    line-height: 1.5;
    color: #374151;
    word-break: break-word;
    white-space: pre-wrap;
}

@media (max-width: 720px) {
    .log-summary-count-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .log-summary-count-row {
        grid-template-columns: 1fr;
    }

    .log-event-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

.manual-input-entry-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
}

.manual-input-entry-main {
    min-width: 0;
    flex: 1 1 auto;
}

.manual-input-entry-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    border-radius: 999px;
    padding: 10px 14px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.manual-input-entry-button:active {
    transform: scale(0.98);
}

.manual-input-form {
    background: white;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.manual-input-textarea {
    min-height: 260px;
    resize: vertical;
    line-height: 1.6;
}

.manual-input-warning {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.manual-input-row {
    background: white;
    border-radius: 16px;
    padding: 15px 16px;
    margin-bottom: 10px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.manual-input-row-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.manual-input-detail {
    margin-top: 10px;
    border-top: 1px solid #e5e7eb;
    padding-top: 10px;
}

.manual-input-detail summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    color: #111827;
}

.manual-input-detail pre {
    margin-top: 8px;
    max-height: 260px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    background: #111827;
    color: white;
    border-radius: 12px;
    padding: 12px;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 520px) {
    .manual-input-entry-card {
        flex-direction: column;
        align-items: stretch;
    }

    .manual-input-entry-button {
        width: 100%;
        box-sizing: border-box;
    }
}

.manual-input-action-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.manual-input-detail-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 8px 12px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

.manual-input-detail-button:active {
    transform: scale(0.98);
}

.manual-input-detail-card,
.manual-input-body-card,
.manual-input-delete-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.manual-input-detail-title {
    font-size: 18px;
    font-weight: 900;
    margin: 10px 0 14px;
    line-height: 1.4;
}

.manual-input-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.manual-input-detail-grid div {
    background: #f9fafb;
    border-radius: 12px;
    padding: 10px;
}

.manual-input-detail-grid span {
    display: block;
    font-size: 11px;
    color: #6b7280;
    margin-bottom: 4px;
    font-weight: 800;
}

.manual-input-detail-grid strong {
    display: block;
    font-size: 13px;
    color: #111827;
    word-break: break-word;
}

.manual-input-body-card pre {
    margin: 0;
    max-height: 520px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    background: #111827;
    color: white;
    border-radius: 12px;
    padding: 12px;
    font-size: 13px;
    line-height: 1.6;
}

.manual-input-delete-button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 13px 14px;
    margin-top: 12px;
    background: #991b1b;
    color: white;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.manual-input-delete-button:active {
    transform: scale(0.98);
}

@media (max-width: 520px) {
    .manual-input-detail-grid {
        grid-template-columns: 1fr;
    }

    .manual-input-action-row {
        justify-content: stretch;
    }

    .manual-input-detail-button {
        width: 100%;
        box-sizing: border-box;
    }
}

.manual-input-apply-card {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.manual-input-apply-warning {
    padding: 12px 14px;
    border-radius: 14px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.manual-input-apply-button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 13px 14px;
    margin-top: 12px;
    background: #1d4ed8;
    color: white;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.manual-input-apply-button:active {
    transform: scale(0.98);
}

.manual-input-applied-box {
    padding: 12px 14px;
    border-radius: 14px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.7;
}

.manual-input-cancel-form {
    margin-top: 14px;
}

.manual-input-cancel-button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 13px 14px;
    margin-top: 12px;
    background: #991b1b;
    color: white;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.manual-input-cancel-button:active {
    transform: scale(0.98);
}

.manual-input-cancelled-box {
    padding: 12px 14px;
    border-radius: 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.7;
}

.manual-input-edit-form {
    background: white;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.manual-input-edit-textarea {
    min-height: 260px;
    resize: vertical;
    line-height: 1.6;
}

.manual-input-edit-button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 13px 14px;
    margin-top: 12px;
    background: #111827;
    color: white;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.manual-input-edit-button:active {
    transform: scale(0.98);
}

.manual-input-replacement-form {
    margin-top: 14px;
}

.manual-input-replacement-warning {
    padding: 12px 14px;
    border-radius: 14px;
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    color: #5b21b6;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.manual-input-replacement-button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 13px 14px;
    margin-top: 12px;
    background: #6d28d9;
    color: white;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.manual-input-replacement-button:active {
    transform: scale(0.98);
}

.manual-input-filter-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 12px;
}

.manual-input-filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 8px 11px;
    background: white;
    border: 1px solid #d1d5db;
    color: #374151;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

.manual-input-filter-chip-active {
    background: #111827;
    border-color: #111827;
    color: white;
}

.manual-input-filter-chip:active {
    transform: scale(0.98);
}

.manual-input-search-form {
    background: white;
    border-radius: 16px;
    padding: 14px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.manual-input-search-input {
    margin-bottom: 10px;
}

.manual-input-search-actions {
    display: flex;
    gap: 8px;
}

.manual-input-search-button,
.manual-input-search-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.manual-input-search-button {
    flex: 1;
    background: #111827;
    color: white;
}

.manual-input-search-reset {
    min-width: 82px;
    background: white;
    color: #111827;
    border: 1px solid #d1d5db;
}

.manual-input-search-button:active,
.manual-input-search-reset:active {
    transform: scale(0.98);
}

.manual-input-search-status {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 800;
}

.manual-input-sort-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 12px;
}

.manual-input-sort-label {
    color: #4b5563;
    font-size: 12px;
    font-weight: 900;
    padding: 0 2px;
}

.manual-input-sort-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 7px 10px;
    background: white;
    border: 1px solid #d1d5db;
    color: #374151;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

.manual-input-sort-chip-active {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: white;
}

.manual-input-sort-chip:active {
    transform: scale(0.98);
}

@media (max-width: 520px) {
    .manual-input-filter-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .manual-input-filter-chip {
        width: 100%;
        box-sizing: border-box;
    }

    .manual-input-search-actions {
        flex-direction: column;
    }

    .manual-input-search-button,
    .manual-input-search-reset {
        width: 100%;
        box-sizing: border-box;
    }

    .manual-input-sort-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .manual-input-sort-label {
        grid-column: 1 / -1;
    }

    .manual-input-sort-chip {
        width: 100%;
        box-sizing: border-box;
    }
}

.manual-input-page-size-select {
    margin-bottom: 10px;
}

.manual-input-page-summary {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 13px;
    font-weight: 800;
}

.manual-input-pagination-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 14px 0 4px;
}

.manual-input-pagination-chip,
.manual-input-pagination-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 9px 12px;
    background: white;
    border: 1px solid #d1d5db;
    color: #111827;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    min-width: 58px;
}

.manual-input-pagination-current {
    background: #111827;
    border-color: #111827;
    color: white;
}

.manual-input-pagination-disabled {
    background: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
}

.manual-input-pagination-chip:active {
    transform: scale(0.98);
}

@media (max-width: 520px) {
    .manual-input-pagination-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .manual-input-pagination-chip,
    .manual-input-pagination-current {
        width: 100%;
        box-sizing: border-box;
    }

    .manual-input-pagination-current {
        grid-column: 1 / -1;
        order: -1;
    }
}

.manual-input-export-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.manual-input-export-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 9px 13px;
    background: #065f46;
    color: white;
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.manual-input-export-link:active {
    transform: scale(0.98);
}

.manual-input-export-note {
    color: #065f46;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

@media (max-width: 520px) {
    .manual-input-export-row {
        flex-direction: column;
        align-items: stretch;
    }

    .manual-input-export-link {
        width: 100%;
        box-sizing: border-box;
    }
}

.manual-input-checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 14px 0 8px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-input-checkbox-row input {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    flex: 0 0 auto;
}

.manual-input-help-text {
    margin: 0 0 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-set-apply-box {
    margin-top: 14px;
    padding: 14px;
    border-radius: 16px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
}

.manual-set-apply-title {
    font-size: 15px;
    font-weight: 1000;
    margin-bottom: 6px;
}

.manual-set-apply-desc {
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-set-apply-errors,
.manual-set-apply-warnings {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

.manual-set-apply-errors {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.manual-set-apply-warnings {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

.manual-set-apply-summary {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.manual-set-apply-summary span {
    border-radius: 999px;
    padding: 6px 9px;
    background: #f3f4f6;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
}

.manual-set-apply-form {
    margin-top: 12px;
}

.manual-set-apply-button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 13px 14px;
    background: #1d4ed8;
    color: white;
    font-size: 14px;
    font-weight: 1000;
    cursor: pointer;
}

.manual-set-apply-button:active {
    transform: scale(0.98);
}

.manual-set-apply-disabled {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.manual-input-status-link,
.manual-input-status-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 10px 14px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
}

.pr-action-buttons {
    flex: 0 0 148px;
    width: 148px;
    min-width: 148px;
    max-width: 148px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 8px;
}

.pr-action-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 148px;
    height: 38px;
    padding: 0 10px;
    border-radius: 999px;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-align: center;
    line-height: 1;
    font-size: 13px;
    font-weight: 900;
    box-sizing: border-box;
}

.pr-action-button.primary {
    min-width: 0 !important;
}

.pr-action-button.secondary {
    min-width: 0 !important;
}

@media (max-width: 640px) {
    .manual-input-entry-card {
        flex-direction: column;
        align-items: stretch;
    }

    .pr-action-buttons {
        flex: 0 0 auto;
        width: 100%;
        min-width: 0;
        max-width: none;
        flex-direction: column;
        align-items: stretch;
    }

    .pr-action-button {
        width: 100% !important;
        max-width: none;
        height: 42px;
    }
}

.manual-input-status-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0;
}

.manual-input-status-back {
    background: #374151;
}

.manual-input-status-form {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.manual-company-status-grid {
    display: grid;
    gap: 12px;
}

.manual-company-status-card {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: white;
    padding: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.manual-company-status-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.manual-company-status-company {
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.manual-company-status-label {
    margin-top: 4px;
    color: #374151;
    font-size: 13px;
    font-weight: 900;
}

.manual-company-status-count {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 7px 10px;
    background: #f3f4f6;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.manual-company-status-summary {
    margin-top: 10px;
    color: #374151;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-company-status-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.manual-company-status-meta span,
.manual-company-status-jobids span {
    border-radius: 999px;
    padding: 6px 9px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
}

.manual-company-status-jobids {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 10px;
    color: #374151;
    font-size: 12px;
    font-weight: 900;
}

.manual-company-status-items {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.manual-company-status-item {
    display: grid;
    gap: 4px;
    padding: 10px 11px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    text-decoration: none;
    color: #111827;
}

.manual-company-status-item strong {
    font-size: 13px;
    font-weight: 900;
}

.manual-company-status-item span {
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
}

.manual-company-status-empty {
    margin-top: 12px;
    padding: 10px 11px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 13px;
    font-weight: 800;
}

.manual-company-status-applied {
    border-color: #86efac;
    background: #f0fdf4;
}

.manual-company-status-draft {
    border-color: #fde68a;
    background: #fffbeb;
}

.manual-company-status-none {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.manual-company-status-cancelled {
    border-color: #fecaca;
    background: #fef2f2;
}

.manual-company-status-empty {
    border-color: #e5e7eb;
}

.manual-input-origin-summary {
    display: grid;
    gap: 7px;
    padding: 12px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-all;
}

.manual-origin-job-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.manual-origin-job-card {
    padding: 12px;
    border-radius: 14px;
    border: 1px solid #e5e7eb;
    background: white;
}

.manual-origin-job-title {
    color: #111827;
    font-size: 14px;
    font-weight: 1000;
}

.manual-origin-job-subtitle {
    margin-top: 5px;
    color: #374151;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-origin-job-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.manual-origin-job-meta span {
    border-radius: 999px;
    padding: 6px 9px;
    background: #f3f4f6;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
}

.original-readiness-box {
    margin-bottom: 14px;
    padding: 13px 14px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
}

.original-readiness-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    margin-bottom: 8px;
}

.original-readiness-head strong {
    color: #111827;
    font-size: 15px;
    font-weight: 1000;
}

.original-readiness-head span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 5px 9px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
}

.original-readiness-messages {
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

.original-readiness-ready {
    background: #f0fdf4;
    border-color: #86efac;
}

.original-readiness-warning {
    background: #fffbeb;
    border-color: #fde68a;
}

.original-readiness-blocked,
.original-readiness-error {
    background: #fef2f2;
    border-color: #fecaca;
}

.original-company-final-grid {
    display: grid;
    gap: 12px;
}

.original-company-final-card {
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: white;
    padding: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.original-company-final-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
}

.original-company-final-name {
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.original-company-final-label {
    margin-top: 4px;
    color: #374151;
    font-size: 13px;
    font-weight: 900;
}

.original-company-final-count {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 7px 10px;
    background: #f3f4f6;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.original-company-final-summary {
    margin-top: 10px;
    color: #374151;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.original-company-final-titles {
    display: grid;
    gap: 6px;
    margin-top: 10px;
}

.original-company-final-titles div {
    border-radius: 12px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.original-company-final-jobs {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.original-company-final-jobs div {
    display: grid;
    gap: 3px;
    border-radius: 12px;
    padding: 9px 10px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #e5e7eb;
}

.original-company-final-jobs strong {
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.original-company-final-jobs span {
    color: #4b5563;
    font-size: 11px;
    font-weight: 900;
}

.original-company-final-jobs em {
    color: #374151;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.4;
}

.original-company-final-empty {
    margin-top: 10px;
    padding: 10px 11px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 900;
}

.original-company-final-applied {
    background: #f0fdf4;
    border-color: #86efac;
}

.original-company-final-none {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.original-company-final-error {
    background: #fef2f2;
    border-color: #fecaca;
}

.manual-origin-job-note {
    margin-top: 8px;
    padding: 9px 10px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.manual-origin-job-warnings {
    margin-top: 8px;
    padding: 9px 10px;
    border-radius: 12px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.6;
}

@media (min-width: 760px) {
    .manual-company-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .manual-input-status-form {
        grid-template-columns: 1fr auto;
        align-items: end;
    }

    .manual-input-status-form .label {
        grid-column: 1 / -1;
    }

    .original-company-final-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.manual-status-run-box {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: white;
}

.manual-status-run-ready {
    background: #f0fdf4;
    border-color: #86efac;
}

.manual-status-run-blocked {
    background: #fef2f2;
    border-color: #fecaca;
}

.manual-status-run-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.manual-status-run-head strong {
    color: #111827;
    font-size: 16px;
    font-weight: 1000;
}

.manual-status-run-head span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 5px 9px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
}

.manual-status-run-desc {
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

.manual-status-run-reasons {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

.manual-status-run-reasons-block {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.manual-status-run-reasons-warning {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

.manual-status-run-lock {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.manual-status-run-lock div {
    border-radius: 12px;
    padding: 9px 10px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid #e5e7eb;
}

.manual-status-run-lock span {
    display: block;
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 4px;
}

.manual-status-run-lock strong {
    display: block;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
    word-break: break-word;
}

.manual-status-run-confirm {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: white;
    border: 1px dashed #f59e0b;
    color: #92400e;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.5;
}

.manual-status-run-confirm label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    cursor: pointer;
}

.manual-status-run-confirm input {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    flex: 0 0 auto;
}

.manual-status-run-button-grid {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.manual-status-run-form {
    display: grid;
    gap: 7px;
    padding: 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.manual-status-run-button {
    width: 100%;
    border: 0;
    border-radius: 14px;
    padding: 13px 14px;
    background: #1d4ed8;
    color: white;
    font-size: 14px;
    font-weight: 1000;
    cursor: pointer;
}

.manual-status-run-button-recommended {
    background: #065f46;
}

.manual-status-run-button:disabled {
    background: #9ca3af;
    cursor: not-allowed;
}

.manual-status-run-button:active:not(:disabled) {
    transform: scale(0.98);
}

.manual-status-run-option-desc {
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-status-run-option-desc strong {
    display: inline-flex;
    margin-top: 5px;
    border-radius: 999px;
    padding: 4px 8px;
    background: #dcfce7;
    color: #166534;
    font-size: 11px;
    font-weight: 1000;
}

.manual-status-run-disabled {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 12px;
    background: white;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

@media (min-width: 760px) {
    .manual-status-run-lock {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .manual-status-run-button-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .manual-status-run-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .manual-status-run-lock {
        grid-template-columns: 1fr;
    }
}

.manual-status-result-summary {
    display: grid;
    gap: 6px;
    padding: 12px 13px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
    margin-bottom: 12px;
}

.manual-status-result-list {
    display: grid;
    gap: 10px;
}

.manual-status-result-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 13px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.manual-status-result-main {
    min-width: 0;
    flex: 1;
}

.manual-status-result-name {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
    word-break: break-word;
}

.manual-status-result-meta {
    margin-top: 4px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    word-break: break-word;
}

.manual-status-result-download {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 8px 11px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

.manual-status-result-download:active {
    transform: scale(0.98);
}

.manual-status-result-empty {
    padding: 12px 13px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-status-recent-result-title {
    margin: 14px 0 8px;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.manual-status-log-count-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.manual-status-log-count-card {
    border-radius: 14px;
    padding: 11px 10px;
    background: white;
    border: 1px solid #e5e7eb;
}

.manual-status-log-count-card span {
    display: block;
    color: #6b7280;
    font-size: 10px;
    font-weight: 900;
    margin-bottom: 4px;
}

.manual-status-log-count-card strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.manual-status-log-count-error {
    background: #fef2f2;
    border-color: #fecaca;
}

.manual-status-log-count-warning {
    background: #fffbeb;
    border-color: #fde68a;
}

.manual-status-log-count-mail {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.manual-status-log-count-run {
    background: #f5f3ff;
    border-color: #ddd6fe;
}

.manual-status-log-count-file {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.manual-status-log-event-list {
    display: grid;
    gap: 8px;
}

.manual-status-log-event-card {
    border-radius: 14px;
    padding: 11px 12px;
    background: white;
    border: 1px solid #e5e7eb;
    border-left: 5px solid #d1d5db;
}

.manual-status-log-event-error {
    border-left-color: #dc2626;
}

.manual-status-log-event-warning {
    border-left-color: #f59e0b;
}

.manual-status-log-event-mail {
    border-left-color: #2563eb;
}

.manual-status-log-event-run {
    border-left-color: #7c3aed;
}

.manual-status-log-event-file {
    border-left-color: #059669;
}

.manual-status-log-event-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
}

.manual-status-log-event-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 10px;
    font-weight: 1000;
}

.manual-status-log-event-badge-error {
    background: #fee2e2;
    color: #991b1b;
}

.manual-status-log-event-badge-warning {
    background: #fef3c7;
    color: #92400e;
}

.manual-status-log-event-badge-mail {
    background: #dbeafe;
    color: #1d4ed8;
}

.manual-status-log-event-badge-run {
    background: #ede9fe;
    color: #6d28d9;
}

.manual-status-log-event-badge-file {
    background: #d1fae5;
    color: #065f46;
}

.manual-status-log-event-source {
    color: #6b7280;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.manual-status-log-event-line {
    color: #374151;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 720px) {
    .manual-status-log-count-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .manual-status-result-card {
        align-items: stretch;
        flex-direction: column;
    }

    .manual-status-result-download {
        width: 100%;
        box-sizing: border-box;
    }

    .manual-status-log-count-row {
        grid-template-columns: 1fr;
    }

    .manual-status-log-event-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

.manual-target-job-guide {
    padding: 12px 13px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
    margin-bottom: 12px;
}

.manual-target-job-list {
    display: grid;
    gap: 10px;
}

.manual-target-job-card {
    display: grid;
    gap: 10px;
    padding: 13px;
    border-radius: 16px;
    background: white;
    border: 1px solid #e5e7eb;
}

.manual-target-job-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.manual-target-job-id {
    color: #111827;
    font-size: 15px;
    font-weight: 1000;
    word-break: break-word;
}

.manual-target-job-title {
    margin-top: 4px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-word;
}

.manual-copy-job-id-button {
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    padding: 8px 10px;
    background: #111827;
    color: white;
    font-size: 11px;
    font-weight: 1000;
    cursor: pointer;
}

.manual-copy-job-id-button-done {
    background: #065f46;
}

.manual-copy-job-id-button:active {
    transform: scale(0.98);
}

.manual-target-job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.manual-target-job-meta span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 8px;
    background: #f3f4f6;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
}

.manual-target-job-warnings {
    padding: 9px 10px;
    border-radius: 12px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-target-job-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.manual-target-job-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    padding: 11px 12px;
    background: #1d4ed8;
    color: white;
    text-decoration: none;
    font-size: 13px;
    font-weight: 1000;
}

.manual-target-job-actions a:nth-child(2) {
    background: #7c3aed;
}

.manual-target-job-actions a:active {
    transform: scale(0.98);
}

.manual-target-job-empty {
    padding: 12px 13px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

.manual-target-prefill-box {
    margin-top: 8px;
    padding: 10px 11px;
    border-radius: 13px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.manual-target-prefill-box strong {
    display: block;
    margin-top: 4px;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
    word-break: break-word;
}

@media (max-width: 520px) {
    .manual-target-job-head {
        flex-direction: column;
    }

    .manual-copy-job-id-button {
        width: 100%;
    }

    .manual-target-job-actions {
        grid-template-columns: 1fr;
    }
}

.manual-operation-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.manual-operation-summary-card {
    padding: 12px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.manual-operation-summary-card span {
    display: block;
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
}

.manual-operation-summary-card strong {
    display: block;
    margin-top: 5px;
    color: #111827;
    font-size: 20px;
    font-weight: 1000;
}

.manual-operation-message-list {
    display: grid;
    gap: 5px;
    padding: 11px 12px;
    border-radius: 14px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    margin-bottom: 12px;
}

.manual-operation-message {
    color: #1e40af;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.manual-operation-list {
    display: grid;
    gap: 10px;
}

.manual-operation-item {
    display: grid;
    gap: 9px;
    padding: 13px;
    border-radius: 16px;
    background: white;
    border: 1px solid #e5e7eb;
}

.manual-operation-item-draft {
    border-color: #fde68a;
    background: #fffbeb;
}

.manual-operation-item-applied {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.manual-operation-item-cancelled {
    border-color: #fecaca;
    background: #fef2f2;
}

.manual-operation-item-deleted {
    border-color: #d1d5db;
    background: #f9fafb;
}

.manual-operation-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.manual-operation-item-title {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
    line-height: 1.4;
}

.manual-operation-item-subtitle {
    margin-top: 4px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-word;
}

.manual-operation-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 9px;
    font-size: 11px;
    font-weight: 1000;
    background: #e5e7eb;
    color: #374151;
}

.manual-operation-badge-draft {
    background: #fef3c7;
    color: #92400e;
}

.manual-operation-badge-applied {
    background: #dcfce7;
    color: #166534;
}

.manual-operation-badge-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.manual-operation-badge-deleted {
    background: #e5e7eb;
    color: #374151;
}

.manual-operation-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.manual-operation-meta span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 8px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
    word-break: break-word;
}

.manual-operation-note {
    padding: 9px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px dashed #d1d5db;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-operation-actions {
    display: flex;
    justify-content: flex-end;
}

.manual-operation-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 8px 11px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 11px;
    font-weight: 1000;
}

.manual-operation-empty {
    padding: 12px 13px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

@media (max-width: 520px) {
    .manual-operation-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .manual-operation-item-head {
        flex-direction: column;
    }

    .manual-operation-badge {
        width: fit-content;
    }

    .manual-operation-actions a {
        width: 100%;
    }
}

.manual-execution-card {
  margin-top: 18px;
}

.manual-execution-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.manual-execution-summary-item {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px;
  background: #ffffff;
}

.manual-execution-summary-label {
  display: block;
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 6px;
}

.manual-execution-summary-item strong {
  font-size: 20px;
  color: #111827;
}

.manual-execution-messages {
  margin-top: 12px;
  display: grid;
  gap: 6px;
}

.manual-execution-message {
  border-radius: 12px;
  padding: 9px 11px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  color: #374151;
  font-size: 13px;
}

.manual-execution-list {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.manual-execution-item {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 14px;
  background: #ffffff;
}

.manual-execution-item-completed {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.manual-execution-item-slot {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.manual-execution-item-pending {
  border-color: #fde68a;
  background: #fffbeb;
}

.manual-execution-item-waiting,
.manual-execution-item-unknown {
  border-color: #e5e7eb;
  background: #f9fafb;
}

.manual-execution-item-cancelled {
  border-color: #fecaca;
  background: #fef2f2;
}

.manual-execution-main {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.manual-execution-title {
  font-weight: 700;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.manual-execution-subtitle {
  margin-top: 4px;
  font-size: 13px;
  color: #4b5563;
}

.manual-execution-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 700;
  background: #e5e7eb;
  color: #374151;
}

.manual-execution-badge-completed {
  background: #dcfce7;
  color: #166534;
}

.manual-execution-badge-slot {
  background: #dbeafe;
  color: #1d4ed8;
}

.manual-execution-badge-pending {
  background: #fef3c7;
  color: #92400e;
}

.manual-execution-badge-waiting,
.manual-execution-badge-unknown {
  background: #e5e7eb;
  color: #374151;
}

.manual-execution-badge-cancelled {
  background: #fee2e2;
  color: #991b1b;
}

.manual-execution-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 10px;
  font-size: 12px;
  color: #4b5563;
}

.manual-execution-file {
  margin-top: 10px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px dashed #d1d5db;
  font-size: 13px;
  color: #374151;
}

.manual-execution-file-empty {
  color: #6b7280;
}

.manual-execution-path {
  margin-top: 4px;
  font-size: 12px;
  color: #6b7280;
  word-break: break-all;
}

@media (max-width: 900px) {
  .manual-execution-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .manual-execution-summary-grid {
    grid-template-columns: 1fr;
  }

  .manual-execution-main {
    display: block;
  }

  .manual-execution-meta {
    display: grid;
    gap: 6px;
  }
}

.manual-backup-card {
    margin-top: 18px;
}

.manual-backup-message-list {
    display: grid;
    gap: 6px;
    margin-top: 12px;
}

.manual-backup-message {
    border-radius: 12px;
    padding: 9px 11px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-backup-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    padding: 12px;
    border-radius: 14px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}

.manual-backup-total span {
    color: #1e40af;
    font-size: 13px;
    font-weight: 900;
}

.manual-backup-total strong {
    color: #111827;
    font-size: 20px;
    font-weight: 1000;
}

.manual-backup-group-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.manual-backup-group {
    display: grid;
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
}

.manual-backup-group-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.manual-backup-group-title {
    color: #111827;
    font-size: 14px;
    font-weight: 1000;
}

.manual-backup-group-desc {
    margin-top: 4px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.manual-backup-group-count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 9px;
    background: #111827;
    color: white;
    font-size: 11px;
    font-weight: 1000;
}

.manual-backup-path {
    padding: 9px 10px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-all;
}

.manual-backup-file-list {
    display: grid;
    gap: 8px;
}

.manual-backup-file {
    padding: 10px 11px;
    border-radius: 13px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.manual-backup-file-name {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
    word-break: break-word;
}

.manual-backup-file-meta {
    margin-top: 4px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-all;
}

.manual-backup-empty {
    padding: 11px 12px;
    border-radius: 13px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

@media (max-width: 520px) {
    .manual-backup-group-head {
        flex-direction: column;
    }

    .manual-backup-group-count {
        width: fit-content;
    }
}

.operation-health-card {
    margin-bottom: 18px;
}

.operation-health-head {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    margin-bottom: 12px;
}

.operation-health-head strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.operation-health-head p {
    margin: 6px 0 0;
    color: #4b5563;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.operation-health-head-ok {
    background: #f0fdf4;
    border-color: #86efac;
}

.operation-health-head-warn {
    background: #fffbeb;
    border-color: #fde68a;
}

.operation-health-head-bad {
    background: #fef2f2;
    border-color: #fecaca;
}

.operation-health-counts {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.operation-health-counts span {
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 1000;
}

.operation-health-message-list {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.operation-health-message {
    padding: 9px 11px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.operation-health-item-list {
    display: grid;
    gap: 9px;
}

.operation-health-item {
    padding: 12px;
    border-radius: 15px;
    background: white;
    border: 1px solid #e5e7eb;
}

.operation-health-item-ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.operation-health-item-warn {
    border-color: #fde68a;
    background: #fffbeb;
}

.operation-health-item-bad {
    border-color: #fecaca;
    background: #fef2f2;
}

.operation-health-item-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.operation-health-item-title {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.operation-health-item-message {
    margin-top: 4px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.operation-health-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 1000;
}

.operation-health-badge-ok {
    background: #dcfce7;
    color: #166534;
}

.operation-health-badge-warn {
    background: #fef3c7;
    color: #92400e;
}

.operation-health-badge-bad {
    background: #fee2e2;
    color: #991b1b;
}

.operation-health-detail {
    margin-top: 8px;
    padding: 8px 9px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px dashed #d1d5db;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-all;
}

.operation-health-env-detail {
    margin-top: 12px;
    padding: 12px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.operation-health-env-detail summary {
    cursor: pointer;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.operation-health-env-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.operation-health-env-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
    background: white;
    border: 1px solid #e5e7eb;
}

.operation-health-env-item strong {
    display: block;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.operation-health-env-item span {
    display: block;
    margin-top: 3px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    word-break: break-all;
}

.operation-health-env-item em {
    flex: 0 0 auto;
    font-style: normal;
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 1000;
}

.operation-health-env-ok em {
    background: #dcfce7;
    color: #166534;
}

.operation-health-env-bad em {
    background: #fee2e2;
    color: #991b1b;
}

.operation-health-secret-note {
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 11px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.5;
}

@media (max-width: 520px) {
    .operation-health-item-main,
    .operation-health-env-item {
        flex-direction: column;
    }

    .operation-health-badge,
    .operation-health-env-item em {
        width: fit-content;
    }
}

.deploy-readiness-card {
    margin-bottom: 18px;
}

.deploy-readiness-head {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    margin-bottom: 12px;
}

.deploy-readiness-head strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.deploy-readiness-head p {
    margin: 6px 0 0;
    color: #4b5563;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.deploy-readiness-head-ok {
    background: #f0fdf4;
    border-color: #86efac;
}

.deploy-readiness-head-warn {
    background: #fffbeb;
    border-color: #fde68a;
}

.deploy-readiness-head-bad {
    background: #fef2f2;
    border-color: #fecaca;
}

.deploy-readiness-counts {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.deploy-readiness-counts span {
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 1000;
}

.deploy-readiness-message-list {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.deploy-readiness-message {
    padding: 9px 11px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.deploy-readiness-item-list {
    display: grid;
    gap: 9px;
}

.deploy-readiness-item {
    padding: 12px;
    border-radius: 15px;
    background: white;
    border: 1px solid #e5e7eb;
}

.deploy-readiness-item-ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.deploy-readiness-item-warn {
    border-color: #fde68a;
    background: #fffbeb;
}

.deploy-readiness-item-bad {
    border-color: #fecaca;
    background: #fef2f2;
}

.deploy-readiness-item-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.deploy-readiness-item-title {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.deploy-readiness-item-message {
    margin-top: 4px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.deploy-readiness-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 1000;
}

.deploy-readiness-badge-ok {
    background: #dcfce7;
    color: #166534;
}

.deploy-readiness-badge-warn {
    background: #fef3c7;
    color: #92400e;
}

.deploy-readiness-badge-bad {
    background: #fee2e2;
    color: #991b1b;
}

.deploy-readiness-detail {
    margin-top: 8px;
    padding: 8px 9px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px dashed #d1d5db;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-all;
}

.deploy-command-detail {
    margin-top: 12px;
    padding: 12px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.deploy-command-detail summary {
    cursor: pointer;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.deploy-command-list {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.deploy-command-item {
    display: grid;
    gap: 6px;
}

.deploy-command-label {
    color: #374151;
    font-size: 12px;
    font-weight: 1000;
}

.deploy-command-item pre {
    margin: 0;
    padding: 10px;
    border-radius: 12px;
    background: #111827;
    color: #e5e7eb;
    font-size: 12px;
    line-height: 1.5;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.deploy-url-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.deploy-url-item {
    display: grid;
    gap: 4px;
    padding: 10px;
    border-radius: 12px;
    background: white;
    border: 1px solid #e5e7eb;
}

.deploy-url-item strong {
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.deploy-url-item span {
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    word-break: break-all;
}

@media (max-width: 520px) {
    .deploy-readiness-item-main {
        flex-direction: column;
    }

    .deploy-readiness-badge {
        width: fit-content;
    }
}

.systemd-draft-card {
    margin-bottom: 18px;
}

.systemd-draft-head {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    margin-bottom: 12px;
}

.systemd-draft-head strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.systemd-draft-head p {
    margin: 6px 0 0;
    color: #1e40af;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.systemd-draft-message-list {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.systemd-draft-message {
    padding: 9px 11px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.systemd-draft-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.systemd-draft-summary-grid div {
    padding: 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.systemd-draft-summary-grid span {
    display: block;
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 5px;
}

.systemd-draft-summary-grid strong {
    display: block;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
    word-break: break-all;
}

.systemd-draft-list,
.systemd-command-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.systemd-draft-detail,
.systemd-command-detail {
    padding: 12px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
}

.systemd-draft-detail summary,
.systemd-command-detail summary {
    cursor: pointer;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.systemd-draft-desc {
    margin-top: 9px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.systemd-draft-filename {
    margin-top: 8px;
    padding: 8px 9px;
    border-radius: 11px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
    word-break: break-all;
}

.systemd-draft-pre {
    margin: 10px 0 0;
    padding: 12px;
    border-radius: 12px;
    background: #111827;
    color: #e5e7eb;
    font-size: 12px;
    line-height: 1.5;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 760px) {
    .systemd-draft-summary-grid {
        grid-template-columns: 1fr;
    }
}

.external-access-card {
    margin-bottom: 18px;
}

.external-access-head {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #c7d2fe;
    background: #eef2ff;
    margin-bottom: 12px;
}

.external-access-head strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.external-access-head p {
    margin: 6px 0 0;
    color: #3730a3;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.external-access-message-list {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.external-access-message {
    padding: 9px 11px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.external-access-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.external-access-summary-grid div {
    padding: 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.external-access-summary-grid span {
    display: block;
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 5px;
}

.external-access-summary-grid strong {
    display: block;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
    word-break: break-all;
}

.external-checklist-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.external-checklist-item {
    padding: 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.external-checklist-title {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
    margin-bottom: 5px;
}

.external-checklist-desc {
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.external-access-detail,
.external-command-detail {
    padding: 12px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    margin-top: 10px;
}

.external-access-detail summary,
.external-command-detail summary {
    cursor: pointer;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.external-url-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.external-url-item {
    display: grid;
    gap: 4px;
    padding: 10px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.external-url-item strong {
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.external-url-item span {
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    word-break: break-all;
}

.external-command-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.external-command-desc {
    margin-top: 9px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.external-command-pre {
    margin: 10px 0 0;
    padding: 12px;
    border-radius: 12px;
    background: #111827;
    color: #e5e7eb;
    font-size: 12px;
    line-height: 1.5;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 760px) {
    .external-access-summary-grid,
    .external-checklist-grid {
        grid-template-columns: 1fr;
    }
}

.operation-flow-card {
    margin-bottom: 18px;
}

.operation-flow-head {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    margin-bottom: 12px;
}

.operation-flow-head strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.operation-flow-head p {
    margin: 6px 0 0;
    color: #4b5563;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.operation-flow-head-ok {
    background: #f0fdf4;
    border-color: #86efac;
}

.operation-flow-head-warn {
    background: #fffbeb;
    border-color: #fde68a;
}

.operation-flow-head-bad {
    background: #fef2f2;
    border-color: #fecaca;
}

.operation-flow-counts {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.operation-flow-counts span {
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 1000;
}

.operation-flow-message-list {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.operation-flow-message {
    padding: 9px 11px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.operation-flow-schedule-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.operation-flow-schedule-grid div {
    padding: 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.operation-flow-schedule-grid span {
    display: block;
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 5px;
}

.operation-flow-schedule-grid strong {
    display: block;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
    word-break: break-all;
}

.operation-flow-group-list {
    display: grid;
    gap: 12px;
}

.operation-flow-group {
    padding: 12px;
    border-radius: 16px;
    background: white;
    border: 1px solid #e5e7eb;
}

.operation-flow-group-title {
    color: #111827;
    font-size: 15px;
    font-weight: 1000;
    margin-bottom: 10px;
}

.operation-flow-item-list {
    display: grid;
    gap: 8px;
}

.operation-flow-item {
    padding: 11px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.operation-flow-item-ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.operation-flow-item-warn {
    border-color: #fde68a;
    background: #fffbeb;
}

.operation-flow-item-bad {
    border-color: #fecaca;
    background: #fef2f2;
}

.operation-flow-item-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.operation-flow-item-title {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.operation-flow-item-desc {
    margin-top: 4px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.operation-flow-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 1000;
}

.operation-flow-badge-ok {
    background: #dcfce7;
    color: #166534;
}

.operation-flow-badge-warn {
    background: #fef3c7;
    color: #92400e;
}

.operation-flow-badge-bad {
    background: #fee2e2;
    color: #991b1b;
}

.operation-flow-detail {
    margin-top: 8px;
    padding: 8px 9px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px dashed #d1d5db;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-all;
}

.operation-flow-detail-box {
    margin-top: 12px;
    padding: 12px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
}

.operation-flow-detail-box summary {
    cursor: pointer;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.operation-flow-checklist {
    margin: 10px 0 0;
    padding-left: 20px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.7;
}

.operation-flow-checklist li {
    margin-bottom: 5px;
}

.operation-flow-url-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.operation-flow-url-item {
    display: grid;
    gap: 4px;
    padding: 10px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.operation-flow-url-item strong {
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.operation-flow-url-item span {
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    word-break: break-all;
}

@media (max-width: 760px) {
    .operation-flow-schedule-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .operation-flow-item-main {
        flex-direction: column;
    }

    .operation-flow-badge {
        width: fit-content;
    }
}

.skeleton-closeout-card {
    margin-bottom: 18px;
}

.skeleton-closeout-head {
    display: grid;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    margin-bottom: 12px;
}

.skeleton-closeout-head strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 1000;
}

.skeleton-closeout-head p {
    margin: 6px 0 0;
    color: #4b5563;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.skeleton-closeout-head-done {
    background: #f0fdf4;
    border-color: #86efac;
}

.skeleton-closeout-head-check {
    background: #fffbeb;
    border-color: #fde68a;
}

.skeleton-closeout-counts {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.skeleton-closeout-counts span {
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 11px;
    font-weight: 1000;
}

.skeleton-closeout-note {
    margin-bottom: 12px;
    padding: 11px 12px;
    border-radius: 14px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.6;
}

.skeleton-closeout-schedule {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.skeleton-closeout-schedule div {
    padding: 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.skeleton-closeout-schedule span {
    display: block;
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 5px;
}

.skeleton-closeout-schedule strong {
    display: block;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
    word-break: break-all;
}

.skeleton-closeout-subtitle {
    margin: 12px 0 8px;
    color: #111827;
    font-size: 14px;
    font-weight: 1000;
}

.skeleton-closeout-list {
    display: grid;
    gap: 8px;
}

.skeleton-closeout-item {
    padding: 11px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.skeleton-closeout-item-done {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.skeleton-closeout-item-check {
    background: #fffbeb;
    border-color: #fde68a;
}

.skeleton-closeout-item-later {
    background: #f9fafb;
    border-color: #e5e7eb;
}

.skeleton-closeout-item-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.skeleton-closeout-item-title {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.skeleton-closeout-item-desc {
    margin-top: 4px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.skeleton-closeout-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 11px;
    font-weight: 1000;
}

.skeleton-closeout-badge-done {
    background: #dcfce7;
    color: #166534;
}

.skeleton-closeout-badge-check {
    background: #fef3c7;
    color: #92400e;
}

.skeleton-closeout-badge-later {
    background: #e5e7eb;
    color: #374151;
}

.skeleton-closeout-next {
    margin-top: 8px;
    padding: 8px 9px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px dashed #d1d5db;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
}

.skeleton-closeout-detail {
    margin-top: 12px;
    padding: 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.skeleton-closeout-detail summary {
    cursor: pointer;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.skeleton-closeout-detail .skeleton-closeout-list {
    margin-top: 10px;
}

.skeleton-closeout-checklist {
    margin: 10px 0 0;
    padding-left: 20px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.7;
}

.skeleton-closeout-checklist li {
    margin-bottom: 5px;
}

@media (max-width: 760px) {
    .skeleton-closeout-schedule {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .skeleton-closeout-item-main {
        flex-direction: column;
    }

    .skeleton-closeout-badge {
        width: fit-content;
    }
}

/* 매체명 보정 관리 */
.media-alias-card {
    margin-top: 16px;
}

.media-alias-note {
    margin: 10px 0 14px;
    color: #555;
    font-size: 14px;
    line-height: 1.6;
}

.media-alias-path {
    margin: 8px 0 14px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f7f7f7;
    color: #555;
    font-size: 13px;
    word-break: break-all;
}

.media-alias-form {
    display: grid;
    gap: 10px;
}

.media-alias-submit {
    margin-top: 8px;
}

.primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 14px;
    padding: 12px 14px;
    background: #111827;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.primary-button:active {
    transform: scale(0.98);
}

.danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 14px;
    padding: 10px 12px;
    background: #dc2626;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.danger-button:active {
    transform: scale(0.98);
}

.media-alias-list {
    display: grid;
    gap: 10px;
}

.media-alias-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid #eeeeee;
    border-radius: 14px;
    background: #ffffff;
}

.media-alias-pair {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: wrap;
}

.media-alias-source {
    font-weight: 700;
    color: #333333;
}

.media-alias-arrow {
    color: #999999;
}

.media-alias-target {
    font-weight: 700;
    color: #111111;
}

.media-alias-delete-form {
    margin: 0;
}

.media-alias-delete {
    white-space: nowrap;
}

.command-box {
    padding: 12px;
    border-radius: 12px;
    background: #111111;
    color: #ffffff;
    overflow-x: auto;
    font-size: 13px;
    line-height: 1.5;
}

.empty-box {
    padding: 14px;
    border-radius: 12px;
    background: #f7f7f7;
    color: #777777;
    font-size: 14px;
}

.back-link-box {
    margin-top: 18px;
}

.back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    padding: 12px 14px;
    background: #f3f4f6;
    color: #111827;
    text-decoration: none;
    font-size: 14px;
    font-weight: 900;
}

@media (max-width: 640px) {
    .media-alias-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .media-alias-delete {
        width: 100%;
    }
}

/* 로그인 첫 화면 최근 30일 대시보드 */
.dashboard-overview-card {
    margin-top: 18px;
    padding: 16px;
    border-radius: 18px;
    background: white;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.dashboard-overview-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.dashboard-overview-subtitle {
    margin-top: 4px;
    color: #4b5563;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.dashboard-period-note {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.dashboard-empty-box {
    padding: 14px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.dashboard-company-chart {
    display: grid;
    gap: 11px;
}

.dashboard-company-row {
    display: grid;
    grid-template-columns: 72px 1fr 58px;
    align-items: center;
    gap: 10px;
}

.dashboard-company-name {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.dashboard-company-bar-wrap {
    height: 18px;
    border-radius: 999px;
    background: #f3f4f6;
    overflow: hidden;
}

.dashboard-company-bar {
    height: 100%;
    min-width: 4px;
    border-radius: 999px;
    background: #111827;
}

.dashboard-company-count {
    text-align: right;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.dashboard-embargo-list {
    display: grid;
    gap: 8px;
}

.dashboard-embargo-row {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: 8px;
    padding: 10px 11px;
    border-radius: 13px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.dashboard-embargo-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #111827;
    color: white;
    font-size: 11px;
    font-weight: 1000;
}

.dashboard-embargo-row strong {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.dashboard-embargo-row em {
    color: #991b1b;
    font-size: 12px;
    font-style: normal;
    font-weight: 1000;
}

.dashboard-recent-title {
    margin: 16px 0 8px;
    color: #111827;
    font-size: 14px;
    font-weight: 1000;
}

.dashboard-recent-embargo-list {
    display: grid;
    gap: 8px;
}

.dashboard-recent-embargo-card {
    padding: 11px 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
}

.dashboard-recent-embargo-main {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
}

.dashboard-recent-embargo-main strong {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.dashboard-recent-embargo-main span {
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    text-align: right;
}

.dashboard-recent-embargo-title {
    margin-top: 6px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.dashboard-recent-embargo-meta {
    margin-top: 6px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
}

.dashboard-recent-embargo-link {
    display: inline-flex;
    margin-top: 8px;
    border-radius: 999px;
    padding: 6px 9px;
    background: #111827;
    color: white;
    text-decoration: none;
    font-size: 11px;
    font-weight: 900;
}

@media (max-width: 520px) {
    .dashboard-overview-head {
        flex-direction: column;
    }

    .dashboard-company-row {
        grid-template-columns: 64px 1fr 52px;
    }

    .dashboard-recent-embargo-main {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-recent-embargo-main span {
        text-align: left;
    }
}

/* 로그인 첫 화면 최근 30일 일자별 추이 */
.dashboard-trend-list {
    display: grid;
    gap: 8px;
}

.dashboard-trend-row {
    display: grid;
    grid-template-columns: 92px 1fr 54px;
    align-items: center;
    gap: 10px;
    padding: 10px 11px;
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.dashboard-trend-date {
    display: grid;
    gap: 3px;
}

.dashboard-trend-date strong {
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

.dashboard-trend-date span {
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
}

.dashboard-trend-main {
    display: grid;
    gap: 6px;
}

.dashboard-trend-bar-wrap {
    height: 14px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
}

.dashboard-trend-bar {
    height: 100%;
    min-width: 3px;
    border-radius: 999px;
    background: #111827;
}

.dashboard-trend-company-counts {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.dashboard-trend-company-counts span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 7px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 10px;
    font-weight: 900;
}

.dashboard-trend-total {
    text-align: right;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
}

@media (max-width: 520px) {
    .dashboard-trend-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .dashboard-trend-total {
        text-align: left;
    }
}

/* 로그인 첫 화면 최근 30일 통신사별 주요 매체 TOP */
.dashboard-company-media-grid {
    display: grid;
    gap: 12px;
}

.dashboard-company-media-card {
    padding: 13px;
    border-radius: 16px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.dashboard-company-media-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.dashboard-company-media-head strong {
    color: #111827;
    font-size: 15px;
    font-weight: 1000;
}

.dashboard-company-media-head span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 5px 9px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 11px;
    font-weight: 1000;
}

.dashboard-company-media-list {
    display: grid;
    gap: 8px;
}

.dashboard-company-media-row {
    display: grid;
    gap: 6px;
    padding: 9px 10px;
    border-radius: 13px;
    background: white;
    border: 1px solid #e5e7eb;
}

.dashboard-company-media-row-head {
    display: grid;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    gap: 7px;
}

.dashboard-company-media-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #111827;
    color: white;
    font-size: 10px;
    font-weight: 1000;
}

.dashboard-company-media-row-head strong {
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
    word-break: break-word;
}

.dashboard-company-media-row-head em {
    color: #374151;
    font-size: 11px;
    font-style: normal;
    font-weight: 1000;
    white-space: nowrap;
}

.dashboard-company-media-bar-wrap {
    height: 11px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
}

.dashboard-company-media-bar {
    height: 100%;
    min-width: 3px;
    border-radius: 999px;
    background: #111827;
}

@media (min-width: 760px) {
    .dashboard-company-media-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .dashboard-company-media-row-head {
        grid-template-columns: 24px 1fr;
    }

    .dashboard-company-media-row-head em {
        grid-column: 2 / 3;
    }
}

/* 로그인 첫 화면 대시보드 데이터 상태 */
.dashboard-data-status-card {
    border: 1px solid #e5e7eb;
}

.dashboard-data-status-summary {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.dashboard-data-status-summary span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 9px;
    background: #f3f4f6;
    color: #374151;
    font-size: 11px;
    font-weight: 1000;
}

.dashboard-data-status-list {
    display: grid;
    gap: 9px;
}

.dashboard-data-status-row {
    padding: 12px;
    border-radius: 14px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
}

.dashboard-data-status-ok {
    background: #f0fdf4;
    border-color: #86efac;
}

.dashboard-data-status-missing {
    background: #fffbeb;
    border-color: #fde68a;
}

.dashboard-data-status-warn {
    background: #fef2f2;
    border-color: #fecaca;
}

.dashboard-data-status-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dashboard-data-status-title strong {
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.dashboard-data-status-title span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 4px 8px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 11px;
    font-weight: 1000;
}

.dashboard-data-status-path {
    margin-top: 7px;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    word-break: break-all;
}

.dashboard-data-status-meta {
    margin-top: 5px;
    color: #111827;
    font-size: 11px;
    font-weight: 900;
}

.dashboard-data-status-extra {
    margin-top: 6px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
}

@media (max-width: 520px) {
    .dashboard-data-status-title {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* 로그인 첫 화면 오늘 운영 바로가기 */
.dashboard-quick-card {
    border: 1px solid #e5e7eb;
}

.dashboard-quick-date {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 900;
}

.dashboard-quick-date strong {
    color: #111827;
    font-weight: 1000;
}

.dashboard-quick-grid {
    display: grid;
    gap: 10px;
}

.dashboard-quick-button {
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border-radius: 16px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05);
}

.dashboard-quick-button strong {
    font-size: 14px;
    font-weight: 1000;
}

.dashboard-quick-button span {
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.dashboard-quick-primary {
    background: #111827;
    border-color: #111827;
    color: white;
}

.dashboard-quick-primary span {
    color: #e5e7eb;
}

.dashboard-quick-button:active {
    transform: scale(0.98);
}

.dashboard-quick-note {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 13px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

@media (min-width: 720px) {
    .dashboard-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .dashboard-quick-button {
        padding: 12px;
    }
}

/* 로그인 첫 화면 오늘 입력 현황 요약 */
.dashboard-today-input-card {
    border: 1px solid #e5e7eb;
}

.dashboard-today-input-date {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 12px;
    font-weight: 900;
}

.dashboard-today-input-date strong {
    color: #111827;
    font-weight: 1000;
}

.dashboard-today-input-grid {
    display: grid;
    gap: 10px;
}

.dashboard-today-input-company {
    padding: 13px;
    border-radius: 16px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.dashboard-today-input-applied {
    background: #f0fdf4;
    border-color: #86efac;
}

.dashboard-today-input-draft {
    background: #fffbeb;
    border-color: #fde68a;
}

.dashboard-today-input-mixed {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.dashboard-today-input-none {
    background: #f5f3ff;
    border-color: #ddd6fe;
}

.dashboard-today-input-cancelled,
.dashboard-today-input-warn {
    background: #fef2f2;
    border-color: #fecaca;
}

.dashboard-today-input-missing {
    background: #f9fafb;
    border-color: #e5e7eb;
}

.dashboard-today-input-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dashboard-today-input-head strong {
    color: #111827;
    font-size: 15px;
    font-weight: 1000;
}

.dashboard-today-input-head span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 5px 9px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 11px;
    font-weight: 1000;
}

.dashboard-today-input-counts {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.dashboard-today-input-counts span {
    border-radius: 999px;
    padding: 5px 8px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #e5e7eb;
    color: #374151;
    font-size: 10px;
    font-weight: 900;
}

.dashboard-today-input-items {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

.dashboard-today-input-item {
    padding: 9px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #e5e7eb;
}

.dashboard-today-input-item strong {
    display: block;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
    line-height: 1.4;
    word-break: break-word;
}

.dashboard-today-input-item span {
    display: block;
    margin-top: 4px;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
    word-break: break-word;
}

.dashboard-today-input-empty {
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px dashed #d1d5db;
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
}

.dashboard-today-input-note {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 13px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

@media (min-width: 760px) {
    .dashboard-today-input-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .dashboard-today-input-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* 로그인 첫 화면 오늘 실행/결과 요약 */
.dashboard-today-run-card {
    border: 1px solid #e5e7eb;
}

.dashboard-today-run-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.dashboard-today-run-summary div {
    border-radius: 14px;
    padding: 11px 10px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}

.dashboard-today-run-summary span {
    display: block;
    color: #6b7280;
    font-size: 10px;
    font-weight: 900;
    margin-bottom: 4px;
}

.dashboard-today-run-summary strong {
    display: block;
    color: #111827;
    font-size: 20px;
    font-weight: 1000;
}

.dashboard-today-run-subtitle {
    margin: 14px 0 8px;
    color: #111827;
    font-size: 13px;
    font-weight: 1000;
}

.dashboard-today-run-list,
.dashboard-today-result-list {
    display: grid;
    gap: 8px;
}

.dashboard-today-run-row,
.dashboard-today-result-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border-radius: 14px;
    background: white;
    border: 1px solid #e5e7eb;
    text-decoration: none;
    color: #111827;
}

.dashboard-today-run-ok {
    background: #f0fdf4;
    border-color: #86efac;
}

.dashboard-today-run-bad {
    background: #fef2f2;
    border-color: #fecaca;
}

.dashboard-today-run-row strong,
.dashboard-today-result-row strong {
    display: block;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
    word-break: break-word;
}

.dashboard-today-run-row span,
.dashboard-today-result-row span {
    display: block;
    margin-top: 4px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    word-break: break-word;
}

.dashboard-today-run-row em,
.dashboard-today-result-row em {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 5px 8px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 11px;
    font-style: normal;
    font-weight: 1000;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .dashboard-today-run-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-today-run-row,
    .dashboard-today-result-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* 로그인 문자인증 다시 받기 */
.sms-resend-form {
    margin-top: 12px;
}

.sms-resend-button {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 14px;
    background: #ffffff;
    color: #111827;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 1000;
    cursor: pointer;
}

.sms-resend-button:active {
    transform: scale(0.98);
}

.sms-resend-help {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 13px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

/* 매체명 보정 - 기존 누적 엑셀 재보정 */
.media-alias-warning {
    margin: 10px 0 14px;
    padding: 12px;
    border-radius: 12px;
    background: #fff7e6;
    color: #7a4b00;
    font-size: 14px;
    line-height: 1.6;
}

.media-alias-rebuild-form {
    margin: 14px 0;
}

.media-alias-rebuild-button {
    width: 100%;
}

.media-alias-rebuild-result {
    margin-top: 16px;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid #eeeeee;
    background: #fafafa;
}

.media-alias-rebuild-result.ok {
    border-color: #b7e4c7;
    background: #f1fff5;
}

.media-alias-rebuild-result.bad {
    border-color: #ffc9c9;
    background: #fff5f5;
}

.media-alias-rebuild-title {
    font-weight: 800;
    margin-bottom: 10px;
}

.media-alias-rebuild-meta {
    display: grid;
    gap: 6px;
    color: #444444;
    font-size: 13px;
    word-break: break-all;
}

.media-alias-output-title {
    margin-top: 14px;
    margin-bottom: 6px;
    font-weight: 700;
    font-size: 13px;
}

.media-alias-output {
    max-height: 260px;
    overflow: auto;
    padding: 12px;
    border-radius: 12px;
    background: #111111;
    color: #ffffff;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
}

/* 로그인/SMS 점검 화면 */
.sms-diag-card {
    background: white;
    border-radius: 18px;
    padding: 16px;
    margin-bottom: 14px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.sms-diag-ready {
    background: #f0fdf4;
    border-color: #86efac;
}

.sms-diag-warn {
    background: #fffbeb;
    border-color: #fde68a;
}

.sms-diag-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.sms-diag-main-badge {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 6px 10px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 12px;
    font-weight: 1000;
    white-space: nowrap;
}

.sms-diag-checked {
    margin-top: 10px;
    color: #374151;
    font-size: 12px;
    font-weight: 900;
}

.sms-diag-warning-box,
.sms-diag-ok-box,
.sms-diag-help {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.sms-diag-warning-box {
    background: white;
    border: 1px solid #f59e0b;
    color: #92400e;
}

.sms-diag-ok-box {
    background: white;
    border: 1px solid #86efac;
    color: #166534;
}

.sms-diag-grid {
    display: grid;
    gap: 10px;
}

.sms-diag-item {
    background: white;
    border-radius: 16px;
    padding: 13px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05);
}

.sms-diag-item-ok {
    background: #f0fdf4;
    border-color: #86efac;
}

.sms-diag-item-warn {
    background: #fef2f2;
    border-color: #fecaca;
}

.sms-diag-item-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.sms-diag-item-head strong {
    color: #111827;
    font-size: 14px;
    font-weight: 1000;
}

.sms-diag-item-head span {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 5px 8px;
    background: white;
    border: 1px solid #e5e7eb;
    color: #111827;
    font-size: 11px;
    font-weight: 1000;
}

.sms-diag-item-value {
    margin-top: 9px;
    color: #111827;
    font-size: 13px;
    font-weight: 900;
    word-break: break-all;
}

.sms-diag-item-desc {
    margin-top: 6px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.sms-diag-log-list {
    display: grid;
    gap: 8px;
}

.sms-diag-log-row {
    border-radius: 14px;
    padding: 10px 11px;
    background: white;
    border: 1px solid #e5e7eb;
    border-left: 5px solid #9ca3af;
}

.sms-diag-log-row span {
    display: inline-flex;
    border-radius: 999px;
    padding: 4px 8px;
    margin-bottom: 7px;
    background: #f3f4f6;
    color: #374151;
    font-size: 10px;
    font-weight: 1000;
}

.sms-diag-log-row pre {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    color: #374151;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
}

.sms-diag-log-ok {
    border-left-color: #059669;
}

.sms-diag-log-ok span {
    background: #d1fae5;
    color: #065f46;
}

.sms-diag-log-bad {
    border-left-color: #dc2626;
}

.sms-diag-log-bad span {
    background: #fee2e2;
    color: #991b1b;
}

.sms-diag-log-dev {
    border-left-color: #f59e0b;
}

.sms-diag-log-dev span {
    background: #fef3c7;
    color: #92400e;
}

.sms-diag-log-resend {
    border-left-color: #2563eb;
}

.sms-diag-log-resend span {
    background: #dbeafe;
    color: #1d4ed8;
}

.sms-diag-help {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
}

.sms-diag-help strong {
    display: block;
    margin-bottom: 6px;
    color: #1e40af;
    font-size: 14px;
}

@media (min-width: 760px) {
    .sms-diag-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .sms-diag-head,
    .sms-diag-item-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   PR_MANAGE 1차 UI 개선: 공통 탭바 / 홈 버튼 / 가독성 개선
   - 원본 분석 로직과 무관한 화면 스타일 전용
   ========================================================= */

:root {
    --pr-bg: #eef2f7;
    --pr-surface: #ffffff;
    --pr-surface-soft: #f8fafc;
    --pr-primary: #0f172a;
    --pr-primary-2: #1e293b;
    --pr-accent: #2563eb;
    --pr-accent-soft: #dbeafe;
    --pr-border: #d9e2ef;
    --pr-text: #111827;
    --pr-muted: #64748b;
    --pr-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

html {
    scroll-behavior: smooth;
}

body {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.10), transparent 32rem),
        linear-gradient(180deg, #f8fafc 0%, var(--pr-bg) 100%);
    color: var(--pr-text);
}

.page-wrap {
    max-width: 780px;
    padding: 28px 18px 88px;
}

.brand-box {
    background:
        linear-gradient(135deg, #0f172a 0%, #111827 45%, #1e293b 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.18);
}

.brand-title {
    letter-spacing: -0.04em;
}

.brand-desc {
    color: rgba(255, 255, 255, 0.82);
}

.global-nav-card {
    position: static;
    z-index: 10;
    margin: 8px 0 12px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--pr-border);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(10px);
}

.global-nav-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.global-nav-home-button {
    display: none;
}

.global-nav-home-button-active {
    background: var(--pr-accent);
}

.global-nav-current {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.global-nav-current span {
    font-size: 10px;
    color: var(--pr-muted);
    font-weight: 900;
}

.global-nav-current strong {
    font-size: 13px;
    color: var(--pr-text);
    font-weight: 950;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.global-nav-current em {
    display: none;
}

.global-nav-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 0 0 2px;
    scrollbar-width: thin;
}

.global-nav-tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--pr-surface-soft);
    border: 1px solid var(--pr-border);
    color: #334155;
    text-decoration: none;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.global-nav-tab:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.global-nav-tab-active {
    background: var(--pr-accent);
    border-color: var(--pr-accent);
    color: white;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.16);
}

.floating-home-button {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 40;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 999px;
    background: var(--pr-primary);
    color: white;
    text-decoration: none;
    font-size: 16px;
    font-weight: 950;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.24);
}

.floating-home-button:active,
.global-nav-tab:active,
.global-nav-home-button:active {
    transform: scale(0.98);
}

.dashboard-overview-card,
.program-card,
.admin-menu-card,
.admin-user-card,
.file-row,
.log-card,
.diagnostic-card,
.manual-input-entry-card,
.manual-input-form,
.manual-input-row,
.manual-input-detail-card,
.manual-input-body-card,
.manual-input-delete-card,
.manual-input-apply-card,
.manual-input-edit-form,
.media-alias-card,
.sms-diag-card,
.card {
    border: 1px solid rgba(217, 226, 239, 0.95);
    box-shadow: var(--pr-shadow);
}

.section-title {
    letter-spacing: -0.03em;
}

.program-subtitle,
.dashboard-overview-subtitle,
.notice,
.manual-input-help-text,
.section-desc {
    color: var(--pr-muted);
}

.button,
.refresh-button,
.manual-input-entry-button,
.manual-input-search-button,
.manual-input-detail-button,
.manual-input-edit-button,
.manual-input-apply-button,
.download-button {
    background: var(--pr-primary);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.13);
}

.button:hover,
.refresh-button:hover,
.manual-input-entry-button:hover,
.manual-input-search-button:hover,
.manual-input-detail-button:hover,
.manual-input-edit-button:hover,
.manual-input-apply-button:hover,
.download-button:hover {
    background: var(--pr-primary-2);
}

.secondary-refresh-button,
.mini-refresh-link,
.manual-input-search-reset,
.manual-input-filter-chip,
.manual-input-sort-chip,
.manual-input-pagination-chip {
    background: white;
    border-color: var(--pr-border);
}

.manual-input-filter-chip-active {
    background: var(--pr-primary);
    border-color: var(--pr-primary);
    color: white;
}

.manual-input-sort-chip-active,
.manual-input-pagination-current {
    background: var(--pr-accent);
    border-color: var(--pr-accent);
    color: white;
}

.input {
    border-color: var(--pr-border);
    background: white;
}

.input:focus {
    border-color: var(--pr-accent);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.alert,
.notice-box,
.dashboard-empty-box,
.manual-input-warning {
    border-width: 1px;
}

.top-user-box {
    align-items: center;
}

.role-badge {
    background: rgba(255, 255, 255, 0.22);
}

@media (max-width: 768px) {
    .global-nav-card {
        display: none;
    }
}

@media (max-width: 520px) {
    .page-wrap {
        padding: 20px 14px 82px;
    }

    .brand-box {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .brand-title {
        font-size: 28px;
    }

    .floating-home-button {
        right: 14px;
        bottom: 14px;
        width: 56px;
        height: 56px;
        font-size: 15px;
    }
}
