.product-create {
    background-color: #f5f7fb;
}

.product-create .content {
    padding-bottom: 40px;
}

.product-create .pc-layout {
    gap: 24px 0;
}

.product-create .pc-lang-panels {
    margin-bottom: 32px;
}

.product-create .pc-card {
    border: 1px solid #e4ebf3;
    border-radius: 28px;
    background-color: #ffffff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
    padding: 24px;
    margin-bottom: 24px;
}

.product-create .pc-card:last-child {
    margin-bottom: 0;
}

.product-create .pc-global-card {
    padding-bottom: 96px;
}

.product-create .pc-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.product-create .pc-card-head-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-create .pc-spec-demo-trigger {
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
}

.product-create .pc-subhead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.product-create .pc-section-divider {
    height: 1px;
    background-color: #e6edf5;
    margin: 24px 0;
}

.product-create .pc-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #1f2a44;
}


.product-create .pc-label {
    font-size: 12px;
    font-weight: 700;
    color: #7b8794;
    margin-bottom: 8px;
    display: inline-block;
}

.product-create .pc-field {
    margin-bottom: 18px;
}

.product-create .form-control {
    border-radius: 16px;
    border: 1px solid #dfe7f1;
    background-color: #f7f9fc;
    padding: 12px 16px;
    font-size: 14px;
    box-shadow: none;
}

/* 商品頁分類選擇器圓角樣式 */
.pc-category-select .ms-tag-input {
    border-radius: 16px;
    border: 1px solid #dfe7f1;
    background-color: #f7f9fc;
    padding: 8px 16px;
    min-height: 48px;
}

.pc-category-select .ms-tag-input:focus-within {
    border-color: #6f42c1;
    box-shadow: 0 0 0 .2rem rgba(111,66,193,.25);
}

.pc-category-select .ms-tag {
    border-radius: 999px;
    padding: 4px 10px;
}

.product-create select.form-control {
    height: 48px;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.4;
}

.product-create .pc-status-select {
    font-weight: 700;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.product-create .pc-status-select.status-published {
    background-color: #ecfdf3;
    border-color: #22c55e;
    color: #166534;
}

.product-create .pc-status-select.status-draft {
    background-color: #eff6ff;
    border-color: #3b82f6;
    color: #1d4ed8;
}

.product-create .pc-status-select.status-low {
    background-color: #fff7ed;
    border-color: #f97316;
    color: #c2410c;
}

.product-create .pc-status-select.status-archived {
    background-color: #f1f5f9;
    border-color: #94a3b8;
    color: #475569;
}

.product-create .pc-status-select option {
    color: #1f2a44;
}

.product-create .form-control:focus {
    background-color: #ffffff;
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
}

.product-create .pc-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    border-radius: 16px;
    border: 1px solid #dfe7f1;
    background-color: #f7f9fc;
    padding: 8px 12px;
    min-height: 44px;
}

.product-create .pc-tags:focus-within {
    background-color: #ffffff;
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
}

.product-create .pc-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.product-create .pc-tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
    background-color: #5b5ce2;
    box-shadow: 0 6px 12px rgba(91, 92, 226, 0.2);
}

.product-create .pc-tag-remove {
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    margin-left: 6px;
    cursor: pointer;
    padding: 0;
}

.product-create .pc-tag-remove:hover {
    color: #ffffff;
}

.product-create .pc-tags-entry {
    border: none;
    background: transparent;
    outline: none;
    flex: 1;
    min-width: 120px;
    font-size: 13px;
    padding: 6px 4px;
    color: #1f2a44;
}

.product-create .pc-tags-entry::placeholder {
    color: #9aa4b2;
}

.product-create .pc-tags-hidden {
    display: none;
}

.product-create textarea.form-control {
    resize: none;
}

.product-create .form-control.form-control-sm {
    border-radius: 12px;
    padding: 8px 12px;
    font-size: 12px;
}

.product-create .pc-lang-tabs,
.product-create .pc-content-tabs {
    display: flex;
    gap: 6px;
    background-color: #f1f4f9;
    padding: 6px;
    border-radius: 14px;
}

.product-create .pc-lang-tab,
.product-create .pc-content-tab {
    border: none;
    background: transparent;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 700;
    color: #8a94a6;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.product-create .pc-lang-tab.is-active,
.product-create .pc-content-tab.is-active {
    background-color: #ffffff;
    color: #2563eb;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.16);
}

.product-create .pc-lang-panel,
.product-create .pc-editor-panel {
    display: none;
}

.product-create .pc-lang-panel.is-active,
.product-create .pc-editor-panel.is-active {
    display: block;
}

.product-create .pc-editor-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: #f4f6fb;
    border: 1px solid #e3e9f3;
    border-bottom: none;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    padding: 8px 10px;
}

.product-create .pc-tool {
    border: none;
    background: transparent;
    color: #6c7a89;
    padding: 4px 6px;
    border-radius: 8px;
}

.product-create .pc-tool:hover {
    background-color: #ffffff;
    color: #2563eb;
}

.product-create .pc-tool-divider {
    width: 1px;
    height: 18px;
    background-color: #d5dbe6;
    margin: 0 4px;
}

.product-create .pc-editor-panel textarea.form-control {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    min-height: 280px;
}

.product-create .pc-editor-panel .cke_contents {
    min-height: 300px !important;
}

.product-create .pc-segment {
    margin-bottom: 18px;
}

.product-create .pc-segment-group {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.product-create .pc-segment-input {
    display: none;
}

.product-create .pc-segment-label {
    border: 1px solid #dfe7f1;
    border-radius: 12px;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 700;
    color: #7b8794;
    cursor: pointer;
    background-color: #f7f9fc;
}

.product-create .pc-segment-input:checked+.pc-segment-label {
    background-color: #e8f1ff;
    border-color: #3b82f6;
    color: #2563eb;
}

.product-create .pc-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
}

.product-create .pc-badge-global {
    background-color: #e8f1ff;
    color: #2563eb;
}

.product-create .pc-warning {
    background-color: #fff5e6;
    border: 1px solid #ffe0b2;
    color: #a16207;
    padding: 10px 14px;
    border-radius: 12px;
    margin-bottom: 16px;
    font-size: 12px;
}

.product-create .pc-spec-demo-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
}

.product-create .pc-spec-demo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 999px;
    background-color: #dbeafe;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 700;
}

.product-create .pc-spec-demo-text {
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

.product-create .pc-spec-table-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 999px;
    background-color: #e0f2fe;
    color: #0369a1;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 8px;
}

.product-create .pc-spec-empty-message {
    border: 1px dashed #bfdbfe;
    border-radius: 12px;
    padding: 12px 14px;
    background-color: #eff6ff;
    color: #1e3a8a;
    font-size: 13px;
    font-weight: 600;
}

.product-create .pc-table-wrap .table {
    background-color: #ffffff;
}

.product-create .pc-spec-sort-handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 38px;
    padding: 3px 7px;
    margin-right: 8px;
    border: 1px solid #dbe5f3;
    border-radius: 999px;
    background-color: #f8fbff;
    color: #5f6f86;
    cursor: move;
    vertical-align: middle;
}

.product-create .pc-spec-sort-handle i {
    font-size: 12px;
}

.product-create .pc-spec-sort-index {
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.product-create .pc-table-wrap tbody tr.ui-sortable-helper {
    background-color: #ffffff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16);
}

.product-create .pc-table-wrap .pc-spec-sortable-placeholder td {
    height: 44px;
    border: 2px dashed #93c5fd;
    background-color: #eff6ff;
}

.pc-spec-demo-modal .modal-dialog {
    max-width: 800px;
}

.pc-spec-demo-modal .modal-content {
    border-radius: 16px;
    border: 1px solid #dbe6f5;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14);
}

.pc-spec-demo-modal .modal-body {
    padding: 20px;
}

.pc-spec-demo-note {
    border: 1px solid #c7d2fe;
    background-color: #eef2ff;
    color: #3730a3;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 14px;
}

.pc-spec-demo-errors {
    border: 1px solid #fecaca;
    background-color: #fff1f2;
    color: #b91c1c;
    border-radius: 12px;
    padding: 10px 12px;
    margin-bottom: 14px;
    font-size: 13px;
}

/* [A 方案] 規格挑選 Modal：操作選擇卡片入口 */
.pc-spec-mode-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 4px;
}

@media (max-width: 575.98px) {
    .pc-spec-mode-cards {
        grid-template-columns: 1fr;
    }
}

.pc-spec-mode-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background-color: #ffffff;
    padding: 16px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pc-spec-mode-card:hover {
    border-color: #94a3b8;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

.pc-spec-mode-card:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

.pc-spec-mode-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: 16px;
}

.pc-spec-mode-icon-apply {
    background-color: #dbeafe;
    color: #1d4ed8;
}

.pc-spec-mode-icon-copy {
    background-color: #fef3c7;
    color: #b45309;
}

.pc-spec-mode-icon-new {
    background-color: #dcfce7;
    color: #15803d;
}

.pc-spec-mode-icon-append {
    background-color: #e0e7ff;
    color: #4338ca;
}

.pc-spec-mode-title {
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
}

.pc-spec-mode-desc {
    font-size: 12px;
    font-weight: 400;
    color: #64748b;
    line-height: 1.5;
}

.pc-spec-demo-panel-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 10px;
}

.pc-spec-demo-items {
    margin-top: 16px;
}

.pc-spec-chip-entry {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pc-spec-chip-entry .form-control {
    flex: 1;
}

.pc-spec-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    min-height: 28px;
}

.pc-spec-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    background-color: #1d4ed8;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 10px;
}

.pc-spec-chip-green {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    background-color: #22c55e;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 10px;
}

.pc-spec-chip-text {
    line-height: 1;
}

.pc-spec-chip-remove {
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

.product-create .pc-price-main {
    margin-bottom: 18px;
}

.product-create .pc-price-input {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-create .pc-price-currency {
    font-size: 20px;
    font-weight: 700;
    color: #22c55e;
}

.product-create .pc-price-main .form-control {
    font-size: 20px;
    font-weight: 700;
    color: #1f2a44;
}

.product-create .pc-main-image {
    border: 2px dashed #dbe5f2;
    border-radius: 24px;
    min-height: 220px;
    background-color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.product-create #main_img_preview:empty::before {
    content: '上傳商品主圖';
    color: #9aa4b2;
    font-size: 12px;
    font-weight: 700;
}

.product-create .new-multi-images-picker {
    width: 100%;
}

.product-create .new-multi-images-actions {
    gap: 8px;
    margin-bottom: 12px;
}

.product-create .new-multi-images-actions .btn {
    border-radius: 12px;
    font-weight: 700;
    font-size: 13px;
    margin: 0 !important;
}

.product-create .new-multi-images-preview {
    margin: 0 -8px;
}

.product-create .new-multi-images-preview .img-item {
    padding: 0 8px 16px;
    cursor: move;
}

.product-create .new-multi-images-preview .img-item:first-child {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}

.product-create .new-multi-images-preview .img-item:first-child .new-multi-image-link .img-thumbnail {
    height: 264px;
}

.product-create .new-multi-image-tile {
    border: 1px solid #dfe7f1;
    border-radius: 10px;
    overflow: hidden;
    background-color: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.product-create .new-multi-image-tile:hover {
    transform: translateY(-2px);
    border-color: #3b82f6;
    box-shadow: 0 14px 24px rgba(37, 99, 235, 0.2);
}

.product-create .new-multi-image-link {
    display: block;
}

.product-create .new-multi-image-link .img-thumbnail {
    border: none;
    border-radius: 0;
    width: 100%;
    height: 120px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.product-create .new-multi-images-preview .img-order-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    border-radius: 999px;
    font-size: 12px;
    padding: 4px 10px;
}

.product-create .new-multi-images-preview .img-remove-button {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    border-radius: 999px;
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-create .new-multi-sortable-placeholder {
    border: 2px dashed #7aa5f7;
    border-radius: 14px;
    background: rgba(122, 165, 247, 0.12);
    margin: 0 8px 16px;
}

.new-multi-images-picker-modal .modal-content {
    border-radius: 18px;
    border: 1px solid #e0e8f4;
    overflow: hidden;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar {
    gap: 8px;
    align-items: flex-start !important;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-left,
.new-multi-images-picker-modal .new-multi-picker-toolbar-right {
    gap: 8px;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-left {
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap !important;
    overflow-x: auto;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-right {
    flex: 0 0 auto;
    margin-left: auto;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-left>*,
.new-multi-images-picker-modal .new-multi-picker-toolbar-right>* {
    margin: 0 !important;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-left .widget-image-picker-search-group {
    flex: 0 0 260px;
    min-width: 220px;
    max-width: 260px;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-left .widget-image-picker-category {
    flex: 0 0 160px;
    width: 160px;
    min-width: 160px;
    max-width: 160px;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-left .widget-image-picker-per-page {
    flex: 0 0 110px;
    width: 110px;
    min-width: 110px;
    max-width: 110px;
}

.new-multi-images-picker-modal .new-multi-picker-toolbar-right .badge {
    font-size: 12px;
    padding: 8px 10px;
}

.new-multi-images-picker-modal .new-multi-modal-card {
    border-radius: 10px;
    border: 1px solid #d9e2ef;
}

.new-multi-images-picker-modal .new-multi-modal-check {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background-color: rgba(15, 23, 42, 0.66);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.82;
    transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.new-multi-images-picker-modal .new-multi-modal-card.is-selected {
    border-color: #1d4ed8;
    box-shadow: 0 12px 26px rgba(29, 78, 216, 0.32);
}

.new-multi-images-picker-modal .new-multi-modal-card.is-selected .new-multi-modal-check {
    background-color: #1d4ed8;
    opacity: 1;
    transform: scale(1.08);
}

.new-multi-images-picker-modal .new-multi-modal-card .widget-image-picker-meta {
    color: #667085 !important;
    font-size: 12px;
}

@media (max-width: 1199.98px) {
    .new-multi-images-picker-modal .new-multi-picker-toolbar-right {
        width: 100%;
        justify-content: flex-end;
        margin-top: 8px;
    }
}

@media (max-width: 991.98px) {
    .product-create .new-multi-images-preview .img-item {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .product-create .new-multi-images-preview .img-item:first-child {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .product-create .new-multi-images-preview .img-item:first-child .new-multi-image-link .img-thumbnail {
        height: 220px;
    }
}

@media (max-width: 575.98px) {
    .product-create .new-multi-images-actions .btn {
        min-width: 0;
        width: 100%;
    }
}

.product-create .pc-toggle-group {
    display: flex;
    gap: 8px;
}

.product-create .pc-toggle-input {
    display: none;
}

.product-create .pc-toggle-btn {
    border: 1px solid #dfe7f1;
    border-radius: 12px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 700;
    color: #7b8794;
    background-color: #f7f9fc;
    cursor: pointer;
}

.product-create .pc-toggle-input:checked+.pc-toggle-btn {
    background-color: #e8f1ff;
    border-color: #3b82f6;
    color: #2563eb;
}


.product-create .select2-container--default .select2-selection--multiple {
    border: 1px solid #dfe7f1;
    border-radius: 16px;
    padding: 6px 10px;
    background-color: #f7f9fc;
    min-height: 46px;
}

.product-create .select2-container--default .select2-selection--single {
    border: 1px solid #dfe7f1;
    border-radius: 16px;
    background-color: #f7f9fc;
    height: 48px;
    outline: none;
}

.product-create .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1f2a44;
    line-height: 46px;
    padding-left: 12px;
    padding-right: 32px;
    font-size: 14px;
}

.product-create .select2-container--default .select2-selection--single:focus {
    outline: none;
}

.product-create .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9aa4b2;
}

.product-create .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
    right: 10px;
}

.product-create .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
}

.product-create .select2-container--default.select2-container--focus .select2-selection--single,
.product-create .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
    background-color: #ffffff;
}

.product-create .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e8f1ff;
    border: none;
    border-radius: 10px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px;
}

.product-create .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #2563eb;
    margin-right: 4px;
}

.product-create .select2-container--default .select2-selection--multiple .select2-search__field {
    font-size: 13px;
    margin-top: 4px;
}

.product-create .select2-container--default .select2-dropdown {
    border: 1px solid #dfe7f1;
    border-radius: 16px;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
    overflow: hidden;
}

.product-create .select2-container--default .select2-search--dropdown {
    padding: 10px;
    background-color: #f7f9fc;
    border-bottom: 1px solid #e6edf5;
}

.product-create .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #dfe7f1;
    border-radius: 12px;
    padding: 8px 10px;
    font-size: 13px;
    outline: none;
    background-color: #ffffff;
    width: 100%;
    box-sizing: border-box;
}

.product-create .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08);
}

.product-create .select2-container--default .select2-results__option {
    padding: 8px 12px;
    font-size: 13px;
}

.product-create .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #2563eb;
    color: #ffffff;
}

.floating-unsaved-alert.is-success {
    background-color: #22c55e;
    color: #ffffff;
}

/* 商品頁面額外樣式 */
.product-create .pc-brand-input {
    height: 49.5px;
}

.product-create .pc-spec-drag-cell {
    cursor: move;
}

.product-create .pc-table-wrap .pc-col-spec {
    width: 130px;
    min-width: 130px;
}

.product-create .pc-table-wrap .pc-col-stock,
.product-create .pc-table-wrap .pc-col-safe-stock {
    width: 100px;
    min-width: 100px;
}

.product-create .pc-media-card .new-multi-images-preview .img-item {
    flex: 0 0 50%;
    max-width: 50%;
}

.product-create .pc-media-card .new-multi-images-preview .img-item:first-child {
    flex: 0 0 100%;
    max-width: 100%;
}

.product-create .pc-media-card .new-multi-image-link .img-thumbnail {
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.product-create .pc-media-card .new-multi-images-preview .img-item:first-child .new-multi-image-link .img-thumbnail {
    height: auto;
}

@media (min-width: 992px) {
    .product-create .pc-layout > .col-lg-8 {
        flex: 1 1 0;
        max-width: none;
    }

    .product-create .pc-layout > .col-lg-4 {
        flex: 0 0 380px;
        max-width: 380px;
    }
}
/* Dashboard 快速導覽頁 */
.dev-quickstart-page .content {
    padding-bottom: 24px;
}

.dev-quickstart-page .dev-quickstart-shell {
    background: #f3f6fb;
    border: 1px solid #dfe5ee;
    border-radius: 16px;
    padding: 14px;
}

.dev-quickstart-page .dev-quickstart-intro {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}

.dev-quickstart-page .dev-quickstart-intro-title {
    margin: 0;
    font-size: 18px;
    line-height: 1.3;
    color: #13284e;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-intro-text {
    margin: 4px 0 0;
    color: #61769a;
    font-size: 13px;
}

.dev-quickstart-page .dev-quickstart-site-meta {
    margin-top: 8px;
}

.dev-quickstart-page .dev-quickstart-site-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #eef4ff;
    border: 1px solid #d7e3ff;
    color: #2f63f5;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 10px;
}

.dev-quickstart-page .dev-quickstart-site-hint {
    margin: 6px 0 0;
    color: #697d9f;
    font-size: 12px;
    line-height: 1.5;
}

.dev-quickstart-page .dev-quickstart-intro-actions {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dev-quickstart-page .dev-quickstart-intro-actions .btn {
    border-radius: 999px;
    padding-left: 12px;
    padding-right: 12px;
}

.dev-quickstart-page .dev-quickstart-layout {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.dev-quickstart-page .dev-quickstart-main {
    flex: 1;
    min-width: 0;
}

.dev-quickstart-page .dev-quickstart-side {
    width: 300px;
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dev-quickstart-page .dev-quickstart-side-card {
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 12px;
    padding: 12px;
}

.dev-quickstart-page .dev-quickstart-help-title {
    margin: 0;
    color: #17335e;
    font-size: 14px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-help-text {
    margin: 4px 0 0;
    color: #5f7396;
    font-size: 12px;
    line-height: 1.5;
}

.dev-quickstart-page .dev-quickstart-help-id {
    margin-top: 6px;
    color: #2f507f;
    font-size: 12px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-help-btn {
    margin-top: 8px;
    border-radius: 999px;
    width: 100%;
}

.dev-quickstart-page .dev-quickstart-progress-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.dev-quickstart-page .dev-quickstart-progress {
    flex: 1;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: #d8dfeb;
}

.dev-quickstart-page .dev-quickstart-progress-bar {
    width: 0;
    background: #2f63f5;
    border-radius: 999px;
    transition: width 0.35s ease;
}

.dev-quickstart-page .dev-quickstart-progress-text {
    color: #2f63f5;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.dev-quickstart-page .dev-quickstart-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.dev-quickstart-page .dev-quickstart-overview-item {
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 12px;
    padding: 8px 10px;
}

.dev-quickstart-page .dev-quickstart-overview-item.is-done {
    border-color: #bdebd8;
    background: #f2fcf8;
}

.dev-quickstart-page .dev-quickstart-overview-item.is-pending {
    border-color: #d9dfeb;
    background: #f7f9fd;
}

.dev-quickstart-page .dev-quickstart-overview-label {
    color: #7083a2;
    font-size: 11px;
    font-weight: 600;
}

.dev-quickstart-page .dev-quickstart-overview-value {
    margin-top: 3px;
    color: #17335e;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.dev-quickstart-page .dev-quickstart-overview-mode {
    font-size: 13px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-readiness {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 12px;
}

.dev-quickstart-page .dev-quickstart-readiness-label {
    color: #5f7396;
    font-size: 12px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-readiness-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.dev-quickstart-page .dev-quickstart-readiness-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
}

.dev-quickstart-page .dev-quickstart-readiness-item.is-done {
    background: #eefaf4;
    border: 1px solid #cdecd9;
    color: #14845b;
}

.dev-quickstart-page .dev-quickstart-readiness-item.is-pending {
    background: #f5f8fc;
    border: 1px solid #dbe3f0;
    color: #6980a4;
}

.dev-quickstart-page .dev-quickstart-timeline {
    position: relative;
}

.dev-quickstart-page .dev-quickstart-step {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.dev-quickstart-page .dev-quickstart-step + .dev-quickstart-step {
    margin-top: 8px;
}

.dev-quickstart-page .dev-quickstart-step-marker {
    width: 36px;
    min-width: 36px;
    display: flex;
    justify-content: center;
    position: relative;
}

.dev-quickstart-page .dev-quickstart-step-marker::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 36px;
    bottom: -8px;
    width: 2px;
    background: #ced6e3;
}

.dev-quickstart-page .dev-quickstart-step:last-child .dev-quickstart-step-marker::after {
    display: none;
}

.dev-quickstart-page .dev-quickstart-step-dot {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #f3f6fb;
    box-shadow: 0 0 0 1px #d9e0ec;
    background: #9aa8bf;
    color: #fff;
    font-size: 11px;
}

.dev-quickstart-page .dev-quickstart-step.is-done .dev-quickstart-step-dot {
    background: #18b778;
}

.dev-quickstart-page .dev-quickstart-step.is-current .dev-quickstart-step-dot {
    background: #2f63f5;
}

.dev-quickstart-page .dev-quickstart-step-body {
    flex: 1;
}

.dev-quickstart-page .dev-quickstart-step-card {
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 12px;
    padding: 10px 12px;
    min-height: 0;
}

.dev-quickstart-page .dev-quickstart-step.is-current .dev-quickstart-step-card {
    border-color: #b7ccff;
    box-shadow: 0 10px 24px rgba(47, 99, 245, 0.08);
}

.dev-quickstart-page .dev-quickstart-step-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.dev-quickstart-page .dev-quickstart-step-kicker {
    margin: 0;
    color: #2f63f5;
    font-size: 11px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-step-title {
    margin: 3px 0 0;
    color: #0f254a;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 800;
}

.dev-quickstart-page .dev-quickstart-step-status {
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
    color: #95a4bc;
    margin-top: 4px;
}

.dev-quickstart-page .dev-quickstart-step-status.is-done {
    color: #18b778;
}

.dev-quickstart-page .dev-quickstart-step-desc {
    margin: 6px 0 0;
    color: #4e6488;
    font-size: 14px;
    line-height: 1.5;
}

.dev-quickstart-page .dev-quickstart-step-detail {
    margin-top: 8px;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.5;
}

.dev-quickstart-page .dev-quickstart-step-detail.is-done {
    background: #eefaf4;
    color: #176346;
}

.dev-quickstart-page .dev-quickstart-step-detail.is-pending {
    background: #f5f8fc;
    color: #4f668a;
}

.dev-quickstart-page .dev-quickstart-step-detail-label {
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-step-summary {
    margin-top: 6px;
    color: #6b7fa1;
    font-size: 13px;
}

.dev-quickstart-page .dev-quickstart-step-action {
    margin-top: 8px;
    border-radius: 999px;
    min-width: 96px;
}

.dev-quickstart-page .dev-quickstart-pending-box {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed #d7dfec;
}

.dev-quickstart-page .dev-quickstart-focus-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border-color: #cad9fb;
    box-shadow: 0 10px 28px rgba(35, 74, 160, 0.08);
}

.dev-quickstart-page .dev-quickstart-focus-card.is-success {
    background: linear-gradient(180deg, #ffffff 0%, #f3fcf8 100%);
    border-color: #cdebdc;
}

.dev-quickstart-page .dev-quickstart-side-kicker {
    color: #2f63f5;
    font-size: 12px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-focus-card.is-success .dev-quickstart-side-kicker {
    color: #14905c;
}

.dev-quickstart-page .dev-quickstart-side-title {
    margin: 4px 0 0;
    color: #12274d;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 800;
}

.dev-quickstart-page .dev-quickstart-side-text {
    margin: 8px 0 0;
    color: #566c90;
    font-size: 13px;
    line-height: 1.6;
}

.dev-quickstart-page .dev-quickstart-success-list {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

.dev-quickstart-page .dev-quickstart-success-item {
    position: relative;
    padding-left: 18px;
    color: #516887;
    font-size: 12px;
    line-height: 1.6;
}

.dev-quickstart-page .dev-quickstart-success-item + .dev-quickstart-success-item {
    margin-top: 4px;
}

.dev-quickstart-page .dev-quickstart-success-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #18b778;
}

.dev-quickstart-page .dev-quickstart-side-detail {
    margin-top: 10px;
    background: #eef4ff;
    border: 1px solid #d7e3ff;
    border-radius: 10px;
    padding: 8px 10px;
    color: #3f5f90;
    font-size: 12px;
    line-height: 1.5;
}

.dev-quickstart-page .dev-quickstart-side-detail-label {
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-side-btn {
    margin-top: 10px;
    width: 100%;
    border-radius: 999px;
}

.dev-quickstart-page .dev-quickstart-success-actions {
    margin-top: 10px;
}

.dev-quickstart-page .dev-quickstart-success-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.dev-quickstart-page .dev-quickstart-success-shortcuts .btn {
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 12px;
}

.dev-quickstart-page .dev-quickstart-queue-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dev-quickstart-page .dev-quickstart-queue-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-decoration: none;
    color: #284977;
    background: #f8faff;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    padding: 8px 10px;
}

.dev-quickstart-page .dev-quickstart-queue-item:hover,
.dev-quickstart-page .dev-quickstart-queue-item:focus {
    color: #1e3d6f;
    text-decoration: none;
    background: #eef4ff;
}

.dev-quickstart-page .dev-quickstart-queue-name {
    font-size: 13px;
    font-weight: 600;
}

.dev-quickstart-page .dev-quickstart-queue-count {
    min-width: 28px;
    text-align: center;
    background: #1e7df0;
    color: #fff;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-queue-empty {
    margin: 10px 0 0;
    color: #6f84a5;
    font-size: 12px;
}

.dev-quickstart-page .dev-quickstart-pending-title {
    margin: 0 0 8px;
    color: #17335e;
    font-size: 13px;
    font-weight: 700;
}

.dev-quickstart-page .dev-quickstart-pending-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dev-quickstart-page .dev-quickstart-pending-item {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    gap: 8px;
    color: #2f507f;
    font-size: 12px;
    border: 1px solid #dbe3f0;
    border-radius: 999px;
    padding: 6px 9px;
    text-decoration: none;
    background: #f8faff;
}

.dev-quickstart-page .dev-quickstart-pending-item:hover,
.dev-quickstart-page .dev-quickstart-pending-item:focus {
    color: #21427a;
    text-decoration: none;
    background: #eef4ff;
}

.dev-quickstart-page .dev-quickstart-pending-arrow {
    color: #8b9ab4;
}

.dev-quickstart-page .dev-quickstart-empty {
    border: 1px dashed #d0d9e7;
    border-radius: 12px;
    background: #fff;
    padding: 28px 12px;
    text-align: center;
    color: #7d8ea9;
}

.dev-quickstart-page .dev-quickstart-empty i {
    display: block;
    margin-bottom: 8px;
    font-size: 22px;
}

@media (max-width: 1199.98px) {
    .dev-quickstart-page .dev-quickstart-layout {
        flex-direction: column;
    }

    .dev-quickstart-page .dev-quickstart-side {
        width: 100%;
        flex: 0 0 100%;
    }

    .dev-quickstart-page .dev-quickstart-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dev-quickstart-page .dev-quickstart-readiness {
        align-items: flex-start;
    }

    .dev-quickstart-page .dev-quickstart-step-title {
        font-size: 17px;
    }

    .dev-quickstart-page .dev-quickstart-step-desc {
        font-size: 14px;
    }

    .dev-quickstart-page .dev-quickstart-step-status {
        font-size: 14px;
    }

    .dev-quickstart-page .dev-quickstart-side {
        width: 100%;
        flex: 0 0 100%;
    }

    .dev-quickstart-page .dev-quickstart-progress-text {
        font-size: 14px;
    }
}

@media (max-width: 767.98px) {
    .dev-quickstart-page .dev-quickstart-shell {
        padding: 12px 10px 12px;
    }

    .dev-quickstart-page .dev-quickstart-intro {
        flex-direction: column;
    }

    .dev-quickstart-page .dev-quickstart-intro-actions {
        justify-content: flex-start;
    }

    .dev-quickstart-page .dev-quickstart-progress-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .dev-quickstart-page .dev-quickstart-progress-text {
        text-align: right;
    }

    .dev-quickstart-page .dev-quickstart-overview {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .dev-quickstart-page .dev-quickstart-readiness {
        display: block;
    }

    .dev-quickstart-page .dev-quickstart-readiness-list {
        margin-top: 8px;
    }

    .dev-quickstart-page .dev-quickstart-step {
        gap: 10px;
    }

    .dev-quickstart-page .dev-quickstart-step-marker,
    .dev-quickstart-page .dev-quickstart-step-dot {
        width: 32px;
        min-width: 32px;
        height: 32px;
    }

    .dev-quickstart-page .dev-quickstart-step-marker::after {
        top: 32px;
    }

    .dev-quickstart-page .dev-quickstart-step-card {
        padding: 10px;
        min-height: 0;
    }

    .dev-quickstart-page .dev-quickstart-step-title {
        font-size: 16px;
    }

    .dev-quickstart-page .dev-quickstart-step-desc {
        font-size: 13px;
        margin-top: 8px;
    }

    .dev-quickstart-page .dev-quickstart-step-action {
        margin-top: 9px;
    }

    .dev-quickstart-page .dev-quickstart-step-status {
        font-size: 12px;
    }

    .dev-quickstart-page .dev-quickstart-side-title {
        font-size: 16px;
    }
}

/* =====================================================
   公告列設定頁 (announcement-settings-page)
   Issue #458
   ===================================================== */


.announcement-settings-page .announcement-global-card {
    margin-left: 16px;
    margin-right: 16px;
    margin-bottom: 12px;
    width: calc(100% - 32px);
    background: #ffffff;
    border: 1px solid #dfe7f3;
    border-radius: 16px;
    padding: 18px 18px 16px;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
}

.announcement-settings-page .announcement-global-card.is-dirty {
    border-color: #e55353;
    box-shadow: 0 0 0 2px rgba(229, 83, 83, 0.14), 0 8px 24px rgba(17, 24, 39, 0.04);
}

.announcement-settings-page .announcement-toolbar-switch {
    margin-right: 12px;
}

.announcement-settings-page .dev-logistic-toolbar-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.announcement-settings-page .announcement-global-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.announcement-settings-page .announcement-global-heading {
    min-width: 0;
}

.announcement-settings-page .announcement-global-title {
    color: #25324b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

.announcement-settings-page .announcement-global-description {
    color: #7b8798;
    font-size: 13px;
    margin-top: 4px;
}

.announcement-settings-page .announcement-global-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.announcement-toast {
    position: fixed;
    top: 78px;
    left: 50%;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 24px;
    border-radius: 0.25rem;
    background: #28a745;
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
    opacity: 0;
    transform: translateX(-50%);
    transition: opacity 0.3s ease;
}

.announcement-toast.is-visible {
    opacity: 1;
}

.announcement-settings-page .announcement-global-dirty-note {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #fff4e8;
    color: #b96a16;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #ffd9b0;
}

.announcement-settings-page .announcement-global-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.announcement-settings-page .announcement-setting-item {
    background: #f8fafc;
    border: 1px solid #e6edf7;
    border-radius: 14px;
    padding: 14px 14px 12px;
}

.announcement-settings-page .announcement-setting-label {
    display: block;
    color: #4b5563;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}

.announcement-settings-page .announcement-setting-help {
    color: #8b95a7;
    font-size: 12px;
    margin-top: 8px;
}

.announcement-settings-page .announcement-segmented-group {
    gap: 6px;
    padding: 4px;
    background: #eef3f8;
    border-radius: 12px;
    display: inline-flex;
    flex-wrap: wrap;
}

.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn {
    border: 0 !important;
    background: transparent !important;
    color: #66758c !important;
    border-radius: 9px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn:hover,
.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn:focus,
.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn:active,
.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn.focus,
.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn:not(.active):hover,
.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn:not(.active):focus,
.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn:not(.active):active {
    background: transparent !important;
    color: #66758c !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn.active,
.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn:active {
    background: #66758c !important;
    color: #ffffff !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.announcement-settings-page .announcement-segmented-group .announcement-segmented-btn.active:hover {
    background: #66758c !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.announcement-settings-page .announcement-lang-tabs-wrap {
    margin-left: 16px;
    margin-right: 16px;
    margin-bottom: 12px;
}

.announcement-settings-page .announcement-lang-tabs-wrap .dev-logistic-head-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.announcement-settings-page .dev-logistic-helper,
.announcement-settings-page .dev-product-result-meta.dev-logistic-result-meta,
.announcement-settings-page .announcement-lang-panels {
    margin-left: 16px;
    margin-right: 16px;
}

.announcement-settings-page .announcement-lang-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #3563d6;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.announcement-settings-page .dev-logistic-head-tabs .nav-link.active .announcement-lang-count {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

.announcement-settings-page .announcement-lang-pane {
    display: none;
}

.announcement-settings-page .announcement-lang-pane.is-active {
    display: block;
}

.announcement-settings-page .js-delete-announcement:hover {
    color: #dc3545;
    background: #fff0f0;
}

.announcement-settings-page .dev-product-table tbody tr:hover .announcement-content-preview {
    text-decoration: underline;
}

.announcement-settings-page .announcement-global-card.is-dirty .js-save-global-settings {
    background-color: #e67e22;
    border-color: #e67e22;
}

.announcement-settings-page .announcement-list-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 12px;
    padding-left: 12px;
    padding-right: 14px;
}

.announcement-settings-page .announcement-sort-status {
    margin-right: auto;
}

.announcement-settings-page .announcement-content-preview {
    font-size: 13px;
    color: #333;
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.announcement-settings-page .announcement-countdown-badge {
    display: inline-block;
    font-size: 11px;
    color: #6c757d;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 2px 8px;
    white-space: nowrap;
}

.announcement-settings-page .announcement-countdown-badge.is-active {
    color: #1f6fcb;
    background: #e8f1fc;
    border-color: #b9d3f7;
}

.announcement-settings-page .announcement-countdown-time {
    font-size: 11px;
    color: #6c757d;
    margin-top: 4px;
}

.announcement-settings-page .announcement-schedule-row {
    font-size: 12px;
    color: #52606d;
    line-height: 1.7;
}

.announcement-settings-page .announcement-schedule-label {
    color: #9aa5b1;
    font-size: 11px;
}

.announcement-settings-page .announcement-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 56px 24px;
    background: #fff;
    border: 1px dashed #ced8ea;
    border-radius: 14px;
    text-align: center;
}

.announcement-settings-page .announcement-empty-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #eef3ff;
    color: #4c6fdc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 16px;
}

.announcement-settings-page .announcement-empty-title {
    font-size: 18px;
    font-weight: 700;
    color: #25324b;
    margin-bottom: 8px;
}

.announcement-settings-page .announcement-empty-text {
    color: #6c757d;
    margin-bottom: 18px;
}

.announcement-settings-modal .announcement-modal-subtitle {
    font-size: 12px;
    color: #6c757d;
    margin-top: 4px;
}

.announcement-settings-modal .announcement-modal-section-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9aa5b1;
    padding-bottom: 7px;
    border-bottom: 1px solid #ebf1f7;
    margin-bottom: 12px;
}

.announcement-settings-modal .modal-dialog {
    max-width: 1200px;
}

.announcement-settings-modal .modal-content,
.announcement-settings-modal .modal-header,
.announcement-settings-modal .modal-body {
    background: #ffffff;
}

.announcement-settings-modal .announcement-dirty-bar {
    padding: 0 24px;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.35s ease, padding 0.35s ease;
}

.announcement-settings-modal .announcement-dirty-bar.is-visible {
    max-height: 80px;
    padding: 12px 24px 0;
}

.announcement-settings-modal .announcement-dirty-bar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 20px;
    border-radius: 10px;
    background: #ffc107;
    color: #5a4200;
    font-size: 14px;
    font-weight: 700;
}

.announcement-settings-modal .announcement-dirty-bar-inner i {
    font-size: 16px;
    color: #7a5a00;
}

.announcement-settings-modal .modal-footer {
    background: #ffffff;
    border-top: 1px solid #ebf1f7;
    padding: 18px 24px 24px;
}

.announcement-settings-modal .modal-footer .btn {
    min-width: 132px;
    border-radius: 12px;
    font-weight: 700;
}

.announcement-settings-modal .announcement-lang-pill {
    display: inline-flex;
    align-items: center;
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: #eef3ff;
    color: #315fce;
    font-size: 12px;
    font-weight: 700;
}

.announcement-settings-modal .announcement-settings-modal-body .pc-card {
    margin-bottom: 16px;
}

.announcement-settings-modal .announcement-settings-modal-body .pc-card:last-child {
    margin-bottom: 0;
}

.announcement-settings-modal .announcement-settings-modal-body .pc-field + .pc-field {
    margin-top: 0;
}

.announcement-settings-modal .announcement-modal-grid {
    margin-right: -12px;
    margin-left: -12px;
    align-items: center;
}

.announcement-settings-modal .announcement-modal-grid--top {
    align-items: flex-start;
}

/* 消除 inline-block strut，讓同排的 label 垂直對齊 */
.announcement-settings-modal .announcement-modal-grid--top .pc-label {
    display: block;
}

.announcement-settings-modal .announcement-modal-grid > [class*='announcement-modal-col-'] {
    padding-right: 12px;
    padding-left: 12px;
}

.announcement-settings-modal .announcement-modal-col-15,
.announcement-settings-modal .announcement-modal-col-20,
.announcement-settings-modal .announcement-modal-col-30,
.announcement-settings-modal .announcement-modal-col-40,
.announcement-settings-modal .announcement-modal-col-80 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.announcement-countdown-time-field {
    transition: opacity 0.15s ease;
}

@media (min-width: 992px) {
    .announcement-settings-modal .announcement-modal-col-15 {
        width: 15%;
        max-width: 15%;
        flex: 0 0 15%;
    }

    .announcement-settings-modal .announcement-modal-col-20 {
        width: 20%;
        max-width: 20%;
        flex: 0 0 20%;
    }

    .announcement-settings-modal .announcement-modal-col-30 {
        width: 30%;
        max-width: 30%;
        flex: 0 0 30%;
    }

    .announcement-settings-modal .announcement-modal-col-40 {
        width: 40%;
        max-width: 40%;
        flex: 0 0 40%;
    }

    .announcement-settings-modal .announcement-modal-col-80 {
        width: 80%;
        max-width: 80%;
        flex: 0 0 80%;
    }
}

@media (max-width: 991.98px) {
    .announcement-settings-page .announcement-global-card {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .announcement-settings-page .dev-logistic-helper,
    .announcement-settings-page .dev-product-result-meta.dev-logistic-result-meta,
    .announcement-settings-page .announcement-lang-tabs-wrap,
    .announcement-settings-page .announcement-lang-panels {
        margin-left: 0;
        margin-right: 0;
    }

    .announcement-settings-page .announcement-global-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .announcement-settings-page .announcement-global-actions {
        justify-content: flex-start;
    }

    .announcement-settings-page .announcement-global-grid {
        grid-template-columns: 1fr;
    }

    .announcement-settings-page .announcement-content-preview {
        max-width: 280px;
    }

    .announcement-settings-modal .announcement-modal-grid {
        margin-right: -8px;
        margin-left: -8px;
    }

    .announcement-settings-modal .announcement-modal-grid > [class*='announcement-modal-col-'] {
        padding-right: 8px;
        padding-left: 8px;
    }
}

@media (max-width: 767.98px) {
    .announcement-settings-page .announcement-empty {
        padding: 40px 20px;
    }

    .announcement-settings-page .announcement-content-preview {
        max-width: 220px;
    }
}

/* Issue #458 公告清單：背景色點與連結欄 */
.announcement-color-dot {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #212529;
    vertical-align: middle;
    flex-shrink: 0;
}

.announcement-color-dot--red    { background-color: #e74c3c; }
.announcement-color-dot--yellow { background-color: #f39c12; }
.announcement-color-dot--blue   { background-color: #2980b9; }
.announcement-color-dot--green  { background-color: #27ae60; }
.announcement-color-dot--purple { background-color: #8e44ad; }
.announcement-color-dot--black  { background-color: #212529; }
.announcement-color-dot--white  { background-color: #ffffff; border: 1px solid #ced4da; }

.announcement-link-cell {
    font-size: 12px;
    color: #007bff;
    white-space: nowrap;
}

.announcement-link-cell:hover {
    color: #0056b3;
    text-decoration: underline;
}

.announcement-link-none {
    color: #adb5bd;
}

/* Issue #458 公告列背景色塊選擇器（無 inline style，CSP 安全） */
.announcement-color-swatches {
    display: grid;
    grid-template-columns: repeat(4, 28px);
    gap: 8px;
    margin-top: 6px;
}

.announcement-color-swatch {
    position: relative;
    width: 28px;
    height: 28px;
}

.announcement-color-swatch input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.announcement-color-swatch label {
    display: block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    box-sizing: border-box;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    margin: 0;
}

.announcement-color-swatch label:hover {
    transform: scale(1.15);
}

.announcement-color-swatch input[type="radio"]:checked + label {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #007bff;
}

/* 各色塊顏色（色盤 key：red/yellow/blue/green/purple/black/white；對應前台 announcement-bar--* 的值） */
.announcement-color-swatch--red    label { background-color: #e74c3c; }
.announcement-color-swatch--yellow label { background-color: #f39c12; }
.announcement-color-swatch--blue   label { background-color: #2980b9; }
.announcement-color-swatch--green  label { background-color: #27ae60; }
.announcement-color-swatch--purple label { background-color: #8e44ad; }
.announcement-color-swatch--black  label { background-color: #212529; }
.announcement-color-swatch--white  label { background-color: #ffffff; border-color: #ced4da; }
/* 無背景色（bar_color 為空）：虛線空圈 */
.announcement-color-swatch--none label { background-color: #ffffff; border-style: dashed; border-color: #adb5bd; }

/* 安全庫存不足警示列背景 */
tr.bg-safe-stock-warning {
    background-color: #ffd0d4;
}

.admin-branding {
    display: flex;
}

.admin-branding__logo {
    display: block;
    width: 100%;
    height: auto;
}

/* 收合用純圖示，預設隱藏，僅側欄收合時顯示 */
.admin-branding__logo-mark {
    display: none;
    height: auto;
}

.admin-branding__meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.admin-branding__label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

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

.admin-branding__version {
    display: block;
    font-size: 12px;
    line-height: 1.4;
}

.admin-branding__detail {
    display: block;
    font-size: 12px;
    line-height: 1.5;
}

.admin-login-page {
    background: linear-gradient(180deg, #edf3fa 0%, #e1e9f3 100%);
}

.admin-login-page .admin-login-box {
    width: min(420px, 92vw);
}

.admin-login-page .admin-login-box .card {
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.14);
}

.admin-login-page .admin-login-box__header {
    padding: 28px 0 20px;
    text-align: center;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
    border-bottom: 1px solid #dbe5f0;
}

.admin-branding--login {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.admin-branding--login .admin-branding__logo {
    width: min(360px, 100%);
    max-width: none;
}

.admin-branding--login .admin-branding__meta {
    align-items: center;
    gap: 6px;
}

.admin-branding--login .admin-branding__label {
    color: #13324b;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.admin-branding--login .admin-branding__detail {
    color: #5a6c7f;
    font-size: 15px;
    font-weight: 600;
}

.admin-sidebar-brand {
    display: block;
    height: auto;
    padding: 12px 14px;
    text-align: left;
}

.admin-branding--sidebar {
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.admin-branding--sidebar .admin-branding__logo {
    width: 118px;
    max-width: 118px;
    flex: 0 0 auto;
}

.admin-branding--sidebar .admin-branding__meta {
    justify-content: center;
}

.sidebar-mini.sidebar-collapse .main-sidebar .admin-sidebar-brand {
    padding-left: 10px;
    padding-right: 10px;
}

.sidebar-mini.sidebar-collapse .main-sidebar .admin-branding--sidebar {
    align-items: center;
}

.sidebar-mini.sidebar-collapse .main-sidebar .admin-branding--sidebar .admin-branding__meta {
    display: none;
}

.sidebar-mini.sidebar-collapse .main-sidebar .admin-branding--sidebar .admin-branding__logo {
    display: none;
}

.sidebar-mini.sidebar-collapse .main-sidebar .admin-branding--sidebar .admin-branding__logo-mark {
    display: block;
    width: 34px;
    max-width: 34px;
    margin: 0 auto;
}

.sidebar-mini.sidebar-collapse .main-sidebar:hover .admin-sidebar-brand,
.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .admin-sidebar-brand {
    padding-left: 14px;
    padding-right: 14px;
}

.sidebar-mini.sidebar-collapse .main-sidebar:hover .admin-branding--sidebar,
.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .admin-branding--sidebar {
    align-items: center;
}

.sidebar-mini.sidebar-collapse .main-sidebar:hover .admin-branding--sidebar .admin-branding__meta,
.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .admin-branding--sidebar .admin-branding__meta {
    display: flex;
}

.sidebar-mini.sidebar-collapse .main-sidebar:hover .admin-branding--sidebar .admin-branding__logo,
.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .admin-branding--sidebar .admin-branding__logo {
    display: block;
    width: 118px;
    max-width: 118px;
}

.sidebar-mini.sidebar-collapse .main-sidebar:hover .admin-branding--sidebar .admin-branding__logo-mark,
.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused .admin-branding--sidebar .admin-branding__logo-mark {
    display: none;
}

.admin-footer-brand {
    margin-left: 12px;
    white-space: nowrap;
}

.admin-footer-brand__title {
    color: #ffc84d;
    font-weight: 700;
}

.admin-footer-brand__version {
    margin-left: 4px;
    color: rgba(234, 243, 255, 0.88);
}
