/* =============================================================================
 * Module page styles extracted from in-page <style> blocks.
 * Generated for portal modules (PLC, DPP, products, CTC, PCO2, samplings, etc.).
 * Do not put PDF/email-only styles here.
 * ============================================================================= */

/* --- 1: admin/certification_tracker/partials/transaction_certificates.blade.php (+4 duplicates) --- */
.tc-product-select + .select2-container .select2-selection--multiple {
        min-height: 38px;
    }
    .modal .select2-container {
        z-index: 1060;
    }

/* --- 2: admin/chain_iq/index.blade.php (+1 duplicates) --- */
.chain-iq-chat-container {
            display: flex;
            flex-direction: column;
            height: calc(100vh - 250px);
            min-height: 600px;
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            overflow: hidden;
        }

        .chain-iq-chat-header {
            background: linear-gradient(135deg, #e84a1a 0%, #c4336e 100%);
            padding: 20px 24px;
            color: #fff;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        .chain-iq-chat-header h5 {
            margin: 0;
            font-size: 18px;
            font-weight: 600;
            display: flex;
            align-items: center;
        }

        .chain-iq-chat-header-copy p {
            margin: 8px 0 0;
            font-size: 13px;
            color: rgba(255, 255, 255, 0.88);
        }

        .chain-iq-tagline {
            font-weight: 600;
            letter-spacing: 0.01em;
        }

        .chain-iq-disclaimer {
            font-size: 12px;
            line-height: 1.45;
            color: rgba(255, 255, 255, 0.78);
            max-width: 42rem;
        }

        .chain-iq-chat-header-actions {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .chain-iq-reset-btn {
            border: 1px solid rgba(255, 255, 255, 0.28);
            background: rgba(255, 255, 255, 0.12);
            color: #fff;
            border-radius: 999px;
            padding: 10px 16px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            transition: background 0.2s ease, transform 0.2s ease;
        }

        .chain-iq-reset-btn:hover {
            background: rgba(255, 255, 255, 0.18);
            transform: translateY(-1px);
        }

        .status-indicator {
            width: 8px;
            height: 8px;
            background: #4ade80;
            border-radius: 50%;
            margin-left: 12px;
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0%, 100% {
                opacity: 1;
            }
            50% {
                opacity: 0.5;
            }
        }

        .chain-iq-chat-messages {
            flex: 1;
            overflow-y: auto;
            padding: 24px;
            background: #f8f9fa;
            scroll-behavior: smooth;
        }

        .chain-iq-chat-messages::-webkit-scrollbar {
            width: 6px;
        }

        .chain-iq-chat-messages::-webkit-scrollbar-track {
            background: #f1f1f1;
        }

        .chain-iq-chat-messages::-webkit-scrollbar-thumb {
            background: #c1c1c1;
            border-radius: 3px;
        }

        .message {
            display: flex;
            margin-bottom: 16px;
            animation: fadeInUp 0.3s ease-out;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .message.user {
            justify-content: flex-end;
        }

        .message.bot {
            justify-content: flex-start;
        }

        .message-content {
            max-width: min(72%, 760px);
            padding: 14px 18px;
            border-radius: 16px;
            line-height: 1.6;
            word-wrap: break-word;
            white-space: pre-wrap;
            position: relative;
        }

        .message.user .message-content {
            background: linear-gradient(135deg, #e84a1a 0%, #c4336e 100%);
            color: #fff;
            border-bottom-right-radius: 4px;
            box-shadow: 0 2px 8px rgba(232, 74, 26, 0.3);
        }

        .message.bot .message-content {
            background: #fff;
            color: #1f2937;
            border-bottom-left-radius: 4px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            border: 1px solid #e5e7eb;
        }

        .message-bot-avatar {
            width: 36px;
            height: 36px;
            background: linear-gradient(135deg, #e84a1a 0%, #c4336e 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 18px;
            margin-right: 12px;
            flex-shrink: 0;
            box-shadow: 0 2px 6px rgba(232, 74, 26, 0.3);
        }

        .message-user-avatar {
            width: 36px;
            height: 36px;
            background: #e5e7eb;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #6b7280;
            font-size: 18px;
            margin-left: 12px;
            flex-shrink: 0;
        }

        .message-time {
            display: block;
            font-size: 11px;
            color: #9ca3af;
            margin-top: 8px;
            text-align: right;
        }

        .message.bot .message-time {
            text-align: left;
        }

        .chain-iq-sources {
            margin-top: 10px;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .chain-iq-source {
            display: inline-flex;
            align-items: center;
            padding: 6px 12px;
            border-radius: 999px;
            background: rgba(232, 74, 26, 0.12);
            color: #c4336e;
            font-size: 12px;
            font-weight: 600;
        }

        .chain-iq-follow-up-wrap {
            margin: -4px 0 16px 48px;
            max-width: min(72%, 760px);
        }

        .chain-iq-follow-up-label {
            display: block;
            margin: 0 0 6px 2px;
            color: #94a3b8;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.02em;
            text-transform: uppercase;
        }

        .chain-iq-follow-up-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .chain-iq-follow-up {
            display: block;
            width: 100%;
            border: 1px solid #dbe4ef;
            border-radius: 14px;
            background: #fff;
            color: #e84a1a;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.45;
            padding: 12px 16px;
            text-align: left;
            cursor: pointer;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        }

        .chain-iq-follow-up:hover {
            background: #fff7f4;
            color: #c4336e;
        }

        .chain-iq-follow-up-wrap[hidden] {
            display: none;
        }

        .chain-iq-module-link-wrap {
            margin: -2px 0 12px 48px;
            max-width: min(72%, 760px);
        }

        .chain-iq-module-link {
            display: inline-block;
            color: #e84a1a;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.45;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .chain-iq-module-link:hover {
            color: #c4336e;
        }

        .message-edit-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-top: 10px;
            border: 0;
            border-radius: 999px;
            padding: 6px 10px;
            background: rgba(255, 255, 255, 0.16);
            color: inherit;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
        }

        .message-edit-btn i {
            font-size: 13px;
        }

        .chain-iq-empty-state {
            background: linear-gradient(135deg, #fff 0%, #f7fafc 100%);
            border: 1px dashed #cbd5e1;
            border-radius: 18px;
            padding: 24px;
            color: #475569;
        }

        .chain-iq-empty-state h6 {
            margin: 0 0 10px;
            color: #111827;
            font-size: 18px;
            font-weight: 700;
        }

        .chain-iq-empty-state p {
            margin: 0;
            line-height: 1.6;
        }

        .chain-iq-starter-grid {
            margin-top: 18px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 12px;
        }

        .chain-iq-starter-btn {
            text-align: left;
            border: 1px solid #dbe4ef;
            background: #fff;
            color: #1f2937;
            border-radius: 14px;
            padding: 14px 16px;
            font-size: 14px;
            line-height: 1.5;
            cursor: pointer;
            transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
        }

        .chain-iq-starter-btn:hover {
            border-color: #e84a1a;
            transform: translateY(-1px);
            box-shadow: 0 10px 22px rgba(232, 74, 26, 0.12);
        }

        .chain-iq-chat-input {
            padding: 20px 24px;
            background: #fff;
            border-top: 1px solid #e5e7eb;
        }

        .chain-iq-status {
            min-height: 20px;
            margin-bottom: 10px;
            color: #64748b;
            font-size: 13px;
        }

        .chain-iq-edit-bar {
            display: none;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 10px;
            padding: 10px 14px;
            border-radius: 14px;
            background: #fff1eb;
            border: 1px solid #f5c4b2;
            color: #c4336e;
            font-size: 13px;
            font-weight: 600;
        }

        .chain-iq-edit-bar.is-active {
            display: flex;
        }

        .chain-iq-edit-cancel {
            border: 0;
            background: transparent;
            color: #c4336e;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
        }

        .chat-input-wrapper {
            display: flex;
            gap: 12px;
            align-items: flex-end;
        }

        .chat-input-field {
            flex: 1;
            padding: 12px 16px;
            border: 2px solid #e5e7eb;
            border-radius: 24px;
            font-size: 14px;
            resize: none;
            transition: all 0.2s;
            font-family: inherit;
            min-height: 48px;
            max-height: 140px;
        }

        .chat-input-field:focus {
            outline: none;
            border-color: #e84a1a;
            box-shadow: 0 0 0 3px rgba(232, 74, 26, 0.12);
        }

        .chat-send-btn {
            width: 48px;
            height: 48px;
            background: #cbd5e1;
            color: #fff;
            border: none;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
        }

        .chat-send-btn.is-ready {
            background: linear-gradient(135deg, #e84a1a 0%, #c4336e 100%);
            box-shadow: 0 2px 8px rgba(232, 74, 26, 0.3);
        }

        .chat-send-btn.is-ready:hover {
            transform: scale(1.05);
            box-shadow: 0 4px 12px rgba(196, 51, 110, 0.35);
        }

        .chat-send-btn:active {
            transform: scale(0.95);
        }

        .chat-send-btn:disabled {
            cursor: not-allowed;
        }

        .chain-iq-typing {
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .chain-iq-typing span {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #e84a1a;
            opacity: 0.45;
            animation: chain-iq-bounce 1.1s infinite ease-in-out;
        }

        .chain-iq-typing span:nth-child(2) {
            animation-delay: 0.15s;
        }

        .chain-iq-typing span:nth-child(3) {
            animation-delay: 0.3s;
        }

        @keyframes chain-iq-bounce {
            0%, 80%, 100% {
                transform: translateY(0);
                opacity: 0.35;
            }

            40% {
                transform: translateY(-4px);
                opacity: 1;
            }
        }

        @media (max-width: 768px) {
            .chain-iq-chat-container {
                height: calc(100vh - 200px);
            }

            .chain-iq-chat-header {
                flex-direction: column;
                align-items: flex-start;
            }

            .message-content {
                max-width: 85%;
            }
        }

/* Ask The Chain — multi-chat shell (screenshot layout) */
.chain-iq-page {
    --ciq-ink: #2b1f1a;
    --ciq-muted: rgba(43, 31, 26, 0.58);
    --ciq-cream: #fdf5f0;
    --ciq-surface: #fffefb;
    --ciq-line: rgba(43, 31, 26, 0.12);
    --ciq-accent: #b34432;
    --ciq-accent-deep: #9a3829;
    --ciq-pink: #f7e6e2;
    --ciq-radius: 1.1rem;
}

.chain-iq-page .page-content,
.page-content:has(.chain-iq-shell) {
    background: var(--ciq-cream, #fdf5f0);
}

.chain-iq-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: calc(100vh - 140px);
}

.chain-iq-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.35rem 1.5rem;
    border-radius: 0 0 1.35rem 1.35rem;
    background: linear-gradient(135deg, #b34432 0%, #c4336e 100%);
    color: #fff;
    box-shadow: 0 12px 28px rgba(179, 68, 50, 0.22);
}

.chain-iq-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.9;
}

.chain-iq-hero__title {
    margin: 0;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    font-weight: 750;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.chain-iq-hero__subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.92rem;
    opacity: 0.88;
    max-width: 36rem;
}

.chain-iq-hero__new {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    background: transparent;
    color: #fff;
    border-radius: 999px;
    padding: 0.65rem 1.15rem;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.chain-iq-hero__new:hover {
    background: #fff;
    color: var(--ciq-accent, #b34432);
}

.chain-iq-layout {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(200px, 240px);
    gap: 1rem;
    align-items: stretch;
    flex: 1;
    min-height: 0;
}

.chain-iq-side,
.chain-iq-main,
.chain-iq-rail {
    min-height: 0;
}

.chain-iq-side,
.chain-iq-rail {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.chain-iq-panel {
    background: var(--ciq-surface, #fffefb);
    border: 1px solid var(--ciq-line);
    border-radius: var(--ciq-radius);
    padding: 1rem 1.05rem;
    box-shadow: 0 4px 18px rgba(43, 31, 26, 0.04);
}

.chain-iq-panel__title {
    margin: 0 0 0.75rem;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ciq-muted);
}

.chain-iq-history {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: 42vh;
    overflow: auto;
}

.chain-iq-history__item {
    display: flex;
    align-items: stretch;
    gap: 0.25rem;
    border-radius: 0.85rem;
}

.chain-iq-history__btn {
    flex: 1;
    text-align: left;
    border: 0;
    background: transparent;
    border-radius: 0.85rem;
    padding: 0.7rem 0.8rem;
    cursor: pointer;
    color: var(--ciq-ink);
    min-width: 0;
}

.chain-iq-history__btn:hover {
    background: rgba(179, 68, 50, 0.06);
}

.chain-iq-history__item.is-active .chain-iq-history__btn {
    background: var(--ciq-pink, #f7e6e2);
}

.chain-iq-history__title {
    display: block;
    font-size: 0.88rem;
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chain-iq-history__meta {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    color: var(--ciq-muted);
}

.chain-iq-history__delete {
    border: 0;
    background: transparent;
    color: var(--ciq-muted);
    border-radius: 0.65rem;
    width: 2rem;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.chain-iq-history__item:hover .chain-iq-history__delete,
.chain-iq-history__item.is-active .chain-iq-history__delete {
    opacity: 1;
}

.chain-iq-history__delete:hover {
    color: #c92a2a;
    background: rgba(201, 42, 42, 0.08);
}

.chain-iq-history__empty {
    margin: 0;
    font-size: 0.86rem;
    color: var(--ciq-muted);
    padding: 0.35rem 0.15rem;
}

.chain-iq-starters {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.chain-iq-starters .chain-iq-starter-btn {
    width: 100%;
    text-align: left;
    border-radius: 999px;
    border: 1px solid var(--ciq-line);
    background: #fff;
    padding: 0.65rem 0.9rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ciq-ink);
    box-shadow: none;
}

.chain-iq-starters .chain-iq-starter-btn:hover {
    border-color: rgba(179, 68, 50, 0.35);
    background: var(--ciq-pink);
    transform: none;
    box-shadow: none;
}

.chain-iq-main .chain-iq-chat-container {
    height: calc(100vh - 220px);
    min-height: 560px;
    border: 1px solid var(--ciq-line);
    border-radius: var(--ciq-radius);
    box-shadow: 0 4px 18px rgba(43, 31, 26, 0.04);
    background: var(--ciq-surface);
}

.chain-iq-main .chain-iq-chat-header {
    display: none;
}

.chain-iq-main .chain-iq-chat-messages {
    background: transparent;
}

.chain-iq-main .message.user .message-content {
    background: #3a322e;
    box-shadow: none;
}

.chain-iq-main .chat-send-btn.is-ready,
.chain-iq-ask-btn {
    background: var(--ciq-accent) !important;
    background-image: none !important;
    box-shadow: none !important;
}

.chain-iq-ask-btn {
    border: 0;
    color: #fff;
    border-radius: 999px;
    padding: 0.75rem 1.35rem;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    white-space: nowrap;
}

.chain-iq-ask-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.chain-iq-main .chat-input-wrapper {
    align-items: center;
}

.chain-iq-main .chat-input-field {
    border-radius: 1.25rem;
    min-height: 52px;
}

.chain-iq-info-card {
    border-radius: 1.15rem;
    padding: 1.15rem 1.2rem 1.25rem;
    box-shadow: 0 4px 18px rgba(43, 31, 26, 0.06);
}

.chain-iq-info-card__title {
    margin: 0 0 0.85rem;
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.chain-iq-info-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.chain-iq-info-card__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 0.9rem;
    line-height: 1.35;
}

.chain-iq-info-card__x {
    flex: 0 0 auto;
    font-size: 0.78rem;
    line-height: 1.45;
    opacity: 0.9;
}

.chain-iq-info-card--cant-see {
    background: #2b2724;
    color: #f6efe8;
}

.chain-iq-info-card--cant-see .chain-iq-info-card__title {
    color: #f6efe8;
}

.chain-iq-info-card--assist {
    background: #c9d6c4;
    color: #2b2724;
}

.chain-iq-info-card--assist .chain-iq-info-card__title {
    color: #2b2724;
}

.chain-iq-info-card__body {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #2b2724;
}

.chain-iq-info-card__body a {
    color: #2b2724;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.chain-iq-info-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 0.75rem;
    background: #2b2724;
    color: #f6efe8 !important;
    text-decoration: none !important;
    font-size: 0.88rem;
    font-weight: 750;
    padding: 0.85rem 1rem;
    text-align: center;
    transition: background 0.15s ease, transform 0.15s ease;
}

.chain-iq-info-card__btn:hover {
    background: #1f1c1a;
    color: #fff !important;
    transform: translateY(-1px);
}

@media (max-width: 1199.98px) {
    .chain-iq-layout {
        grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    }

    .chain-iq-rail {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .chain-iq-layout,
    .chain-iq-rail {
        grid-template-columns: 1fr;
    }

    .chain-iq-main .chain-iq-chat-container {
        height: auto;
        min-height: 70vh;
    }

    .chain-iq-history {
        max-height: 220px;
    }
}

/* --- 3: admin/cost_to_close/comparison.blade.php (+5 duplicates) --- */
.c2c-compare { --cc-border: #ece6df; --cc-accent: #e84a1a; --cc-dark: #1a1614; --cc-muted: #8a8178; }
                .c2c-compare .mode-card {
                    border: 2px solid var(--cc-border);
                    border-radius: 12px;
                    padding: 1rem 1.1rem;
                    cursor: pointer;
                    background: #fff;
                    height: 100%;
                    transition: border-color .15s, box-shadow .15s;
                }
                .c2c-compare .mode-card:hover { border-color: #d8cfc4; }
                .c2c-compare .mode-card.is-active {
                    border-color: var(--cc-accent);
                    box-shadow: 0 0 0 3px rgba(232, 74, 26, .12);
                }
                .c2c-compare .mode-card input { display: none; }
                .c2c-compare .mode-card__title { font-weight: 700; color: var(--cc-dark); margin-bottom: .25rem; }
                .c2c-compare .mode-card__sub { font-size: .82rem; color: var(--cc-muted); margin: 0; }
                .c2c-compare-panel {
                    background: #fff;
                    border: 1px solid var(--cc-border);
                    border-radius: 14px;
                    padding: 1.25rem;
                    margin-bottom: 1.25rem;
                }
                .c2c-compare-result {
                    display: grid;
                    grid-template-columns: 1fr 1fr;
                    gap: 1rem;
                    align-items: stretch;
                }
                @media (max-width: 992px) {
                    .c2c-compare-result { grid-template-columns: 1fr; }
                }
                .c2c-side {
                    border: 1px solid var(--cc-border);
                    border-radius: 12px;
                    background: #faf8f6;
                    padding: 1.1rem;
                }
                .c2c-side__badge {
                    display: inline-block;
                    font-size: .65rem;
                    font-weight: 700;
                    letter-spacing: .06em;
                    text-transform: uppercase;
                    padding: .2rem .5rem;
                    border-radius: 999px;
                    margin-bottom: .5rem;
                }
                .c2c-side__badge--sampling { background: #eef4ff; color: #1a3a6e; }
                .c2c-side__badge--live { background: #e8f5e9; color: #1b5e20; }
                .c2c-side__name { font-size: 1.05rem; font-weight: 800; color: var(--cc-dark); margin-bottom: .15rem; }
                .c2c-side__meta { font-size: .82rem; color: var(--cc-muted); margin-bottom: .85rem; }
                .c2c-metric-row {
                    display: flex;
                    justify-content: space-between;
                    gap: .75rem;
                    padding: .4rem 0;
                    border-bottom: 1px solid #ece6df;
                    font-size: .88rem;
                }
                .c2c-metric-row:last-child { border-bottom: 0; }
                .c2c-metric-row .lbl { color: var(--cc-muted); }
                .c2c-metric-row .val { font-weight: 700; color: var(--cc-dark); text-align: right; }

/* --- 4: admin/cost_to_close/sampling/index.blade.php (+5 duplicates) --- */
.c2c-module { --c2c-bg: #f5f0ea; --c2c-dark: #1a1614; --c2c-accent: #e84a1a; --c2c-muted: #8a8178; --c2c-border: #ece6df; }
                .c2c-summary-bar { background: linear-gradient(135deg, #e84a1a 0%, #d63d12 100%); color: #fff; border-radius: 14px 14px 0 0; padding: 1.1rem 1.35rem; }
                .c2c-summary-bar__amount { font-size: 1.65rem; font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
                .c2c-summary-bar__sub { font-size: .88rem; opacity: .92; margin-top: .2rem; }
                .c2c-table-wrap { background: var(--c2c-bg); border: 1px solid var(--c2c-border); border-top: 0; border-radius: 0 0 14px 14px; padding: 1rem; }
                .c2c-table { --bs-table-bg: #fff; }
                .c2c-table thead th { background: #faf7f3; color: var(--c2c-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--c2c-border); vertical-align: middle; white-space: nowrap; }
                .c2c-table tbody td { vertical-align: middle; border-bottom: 1px solid #f1ece6; }
                .c2c-product-cell { display: flex; align-items: center; gap: .75rem; min-width: 220px; }
                .c2c-product-cell__thumb { width: 48px; height: 48px; border-radius: 8px; background: #1a1614; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
                .c2c-product-cell__thumb img { width: 100%; height: 100%; object-fit: cover; }
                .c2c-product-cell__thumb i { color: #8a8178; font-size: 1.2rem; }
                .c2c-product-cell__name { font-weight: 700; color: var(--c2c-dark); text-decoration: none; }
                .c2c-product-cell__name:hover { color: var(--c2c-accent); }
                .c2c-product-cell__meta { font-size: .8rem; color: var(--c2c-muted); margin-top: .1rem; }
                .c2c-product-cell__origin { font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c2c-muted); }
                .c2c-uplift { font-size: 1.1rem; font-weight: 800; color: var(--c2c-dark); }
                .c2c-impact-bar { height: 5px; border-radius: 999px; background: #ece6df; margin-top: .35rem; max-width: 120px; }
                .c2c-impact-bar > span { display: block; height: 100%; border-radius: 999px; }
                .c2c-impact-value { font-size: 1.15rem; font-weight: 800; }
                .c2c-confidence { display: inline-block; font-size: .68rem; font-weight: 700; padding: .18rem .55rem; border-radius: 999px; white-space: nowrap; }
                .c2c-confidence--high { background: #e8f5e9; color: #1b5e20; }
                .c2c-confidence--medium { background: #fff4e5; color: #7a4b00; }
                .c2c-confidence--low { background: #f5f5f5; color: #666; }
                .c2c-actions { display: flex; gap: .35rem; flex-wrap: wrap; }
                .c2c-filter-card { background: #fff; border: 1px solid var(--c2c-border); border-radius: 14px; margin-bottom: 1rem; overflow: hidden; }

/* --- 5: admin/dpp/create.blade.php (+17 duplicates) --- */
.cke_notifications_area {
            display: none;
        }

/* --- 6: admin/dpp/show.blade.php (+5 duplicates) --- */
.supply-chain-graph {
        display: flex;
        flex-direction: row;
        gap: 40px;
        align-items: flex-start;
        overflow-x: auto;
        padding: 20px;
    }

    .tier-vertical {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .branch-row {
        display: flex;
        flex-direction: row;
        gap: 40px;
    }

    .tier-box {
        border: 2px solid #4CAF50;
        border-radius: 8px;
        padding: 15px;
        min-width: 220px;
        background-color: #f9f9f9;
        margin-bottom: 20px;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
    }

    .tier-connection {
        width: 4px;
        height: 20px;
        background-color: #4CAF50;
        margin: 0 auto 20px;
    }

/* --- 7: admin/dpp_brand_details/entries.blade.php (+2 duplicates) --- */
.cke_notifications_area { display: none; }
    .dpp-brand-detail-preview {
        max-width: 420px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* --- 8: admin/factory_chemical/create.blade.php (+9 duplicates) --- */
#operations + .select2-container .select2-selection--multiple,
    #option1_selected + .select2-container .select2-selection--multiple,
    .fcc-opt3 + .select2-container .select2-selection--multiple { min-height: 38px; }

/* --- 9: admin/knowledge/index.blade.php (+1 duplicates) --- */
.chain-iq-bucket-card {
            border: 0;
            border-radius: 18px;
            box-shadow: 0 10px 30px rgba(31, 41, 55, 0.08);
            overflow: hidden;
        }

        .chain-iq-bucket-card .card-body {
            padding: 20px;
        }

        .chain-iq-bucket-top {
            display: flex;
            align-items: center;
            gap: 14px;
            margin-bottom: 18px;
        }

        .chain-iq-bucket-icon {
            width: 48px;
            height: 48px;
            border-radius: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            flex-shrink: 0;
        }

        .chain-iq-bucket-icon.generic {
            background: rgba(232, 74, 26, 0.14);
            color: #e84a1a;
        }

        .chain-iq-bucket-icon.brand {
            background: rgba(196, 51, 110, 0.14);
            color: #c4336e;
        }

        .chain-iq-bucket-icon.factory {
            background: rgba(89, 140, 84, 0.14);
            color: #4b7b49;
        }

        .chain-iq-bucket-icon.manager {
            background: rgba(59, 130, 246, 0.14);
            color: #2563eb;
        }

        .chain-iq-bucket-icon.supplier {
            background: rgba(14, 116, 144, 0.14);
            color: #0f766e;
        }

        .chain-iq-bucket-icon.admin {
            background: rgba(39, 39, 42, 0.1);
            color: #18181b;
        }

        .chain-iq-bucket-label {
            margin: 0 0 2px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #7c8aa5;
        }

        .chain-iq-bucket-title {
            margin: 0;
            font-size: 20px;
            font-weight: 700;
            color: #1f2937;
        }

        .chain-iq-bucket-metric {
            display: flex;
            align-items: baseline;
            gap: 8px;
        }

        .chain-iq-bucket-metric strong {
            font-size: 28px;
            line-height: 1;
            color: #111827;
        }

        .chain-iq-bucket-metric span {
            color: #6b7280;
            font-size: 14px;
        }

        #audiences + .select2-container .select2-selection--multiple {
            min-height: 48px;
            border: 1px solid #dee2e6;
            border-radius: 0.75rem;
            padding: 0.35rem 0.5rem;
        }

        .modal .select2-container {
            width: 100% !important;
        }

/* --- 10: admin/objective_progress/edit.blade.php --- */
.cke_notification_warning {
        display: none;
    }

/* --- 11: admin/pco2/show.blade.php (+5 duplicates) --- */
/* Match PLC Carbon summary pane: white surface over peach factories card */
                                .pefcr-co2-summary-section {
                                    background: #ffffff;
                                    border-radius: 12px;
                                    padding: 1.5rem;
                                    margin-top: 0.25rem;
                                }
                                .pefcr-co2-summary-section .pco2-final-summary {
                                    margin-top: 0;
                                }
                                .pefcr-co2-summary-section h3.pefcr-benchmark-heading,
                                .pefcr-co2-summary-section h3.pefcr-results-heading {
                                    color: #e84a1a !important;
                                    font-weight: 700;
                                    font-size: 1.35rem;
                                    margin-bottom: 0.5rem;
                                    letter-spacing: normal;
                                }
                                .pefcr-co2-summary-section h3.pefcr-results-heading {
                                    margin-top: 0.25rem;
                                    margin-bottom: 0.75rem;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-sub {
                                    color: #6b7280;
                                    margin-bottom: 1.25rem;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-category {
                                    color: #e84a1a;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-metrics {
                                    display: grid;
                                    grid-template-columns: repeat(4, minmax(0, 1fr));
                                    gap: 1.25rem 1.5rem;
                                    margin-bottom: 0.5rem;
                                    align-items: start;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-value {
                                    display: flex;
                                    align-items: baseline;
                                    flex-wrap: wrap;
                                    gap: 0.35rem;
                                    margin-bottom: 0.25rem;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-number {
                                    font-size: 1.75rem;
                                    font-weight: 700;
                                    color: #111827;
                                    line-height: 1.1;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-number--accent {
                                    color: #e84a1a !important;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-unit {
                                    color: #9ca3af;
                                    font-size: 0.9rem;
                                    font-weight: 400;
                                }
                                .pefcr-co2-summary-section .pefcr-benchmark-label {
                                    color: #6b7280;
                                    font-size: 0.85rem;
                                }
                                @media (max-width: 991.98px) {
                                    .pefcr-co2-summary-section .pefcr-benchmark-metrics {
                                        grid-template-columns: repeat(2, minmax(0, 1fr));
                                    }
                                }
                                @media (max-width: 575.98px) {
                                    .pefcr-co2-summary-section .pefcr-benchmark-metrics {
                                        grid-template-columns: 1fr;
                                    }
                                }

/* --- 12: admin/plc/create.blade.php (+9 duplicates) --- */
.plc-flow-builder{--sc-bg:#FBF7F4;--sc-ink:#1F1A17;--sc-muted:#6B625C;--sc-line:#EDE2DA;--sc-line2:#E4D6CC;--sc-accent:#C2410C;--sc-accent-hover:#A8380A;--sc-accent-ink:#9A3412;--sc-accent-soft:#FFF3EC;--sc-accent-softer:#FFF8F4;--sc-t2:#7C2D12;--sc-t3:#FED7C3;--sc-t4:#F0B999;--sc-ok-bg:#E3EEF9;--sc-ok:#1D4E89;--sc-danger:#B42318;--sc-guide:#EFE4DC;--sc-radius:10px;color:var(--sc-ink);font-size:14px;line-height:1.45;position:relative;min-height:220px}
.plc-flow-builder .sc-h2{margin:0;font-size:20px;font-weight:600}
.plc-flow-builder .sc-muted{color:var(--sc-muted)}
.plc-flow-builder .sc-small{font-size:12px}
.plc-flow-builder .sc-name{font-weight:600}
.plc-flow-builder .sc-req{color:var(--sc-accent-ink);font-weight:600}
.plc-flow-builder .sc-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.plc-flow-builder .sc-sec-head p{margin:4px 0 0;max-width:720px}
.plc-flow-builder .sc-secnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
@media(max-width:900px){.plc-flow-builder .sc-secnav{display:flex;overflow-x:auto;padding-bottom:4px}.plc-flow-builder .sc-sec{min-width:170px}}
.plc-flow-builder .sc-sec{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:1px solid var(--sc-line2);border-radius:12px;background:#fff;text-align:left;min-height:64px}
.plc-flow-builder .sc-sec:hover{border-color:#E08A5E}
.plc-flow-builder .sc-sec.on{border:2px solid var(--sc-accent);background:var(--sc-accent-soft);padding:11px 13px}
.plc-flow-builder .sc-sec-t{font-weight:600;font-size:14px}
.plc-flow-builder .sc-sec-s{font-size:12px;display:flex;align-items:center;gap:6px;color:var(--sc-muted)}
.plc-flow-builder .sc-sec-s::before{content:"";width:8px;height:8px;border-radius:99px;background:#C9BCB2}
.plc-flow-builder .sc-sec-s.ok{color:var(--sc-ok)}.plc-flow-builder .sc-sec-s.ok::before{background:#2F6FB5}
.plc-flow-builder .sc-sec-s.warn{color:var(--sc-accent-ink);font-weight:600}.plc-flow-builder .sc-sec-s.warn::before{background:var(--sc-accent)}
.plc-flow-builder .sc-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap;flex:none;line-height:1.4}
.plc-flow-builder .sc-badge.t2{background:var(--sc-t2);color:#fff}
.plc-flow-builder .sc-badge.t3{background:var(--sc-t3);color:var(--sc-t2)}
.plc-flow-builder .sc-badge.t4{background:#fff;border:1px solid var(--sc-t4);color:var(--sc-accent-ink)}
.plc-flow-builder .sc-chip{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}
.plc-flow-builder .sc-chip.ok{background:var(--sc-ok-bg);color:var(--sc-ok)}
.plc-flow-builder .sc-chip.warn{background:var(--sc-accent-soft);color:var(--sc-accent-ink)}
.plc-flow-builder .sc-card{background:#fff;border:1px solid var(--sc-line);border-radius:14px}
.plc-flow-builder .sc-flow-btn{height:36px;padding:0 12px;border-radius:var(--sc-radius);font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--sc-line2);background:#fff;color:var(--sc-ink);cursor:pointer}
.plc-flow-builder .sc-flow-btn:hover{background:var(--sc-accent-softer)}
.plc-flow-builder .sc-flow-hint{color:var(--sc-muted);font-size:13px;margin:0 0 12px}
.plc-flow-builder .sc-wrap{overflow:auto}
.plc-flow-builder .sc-canvas{position:relative;margin:0 auto}
.plc-flow-builder .sc-canvas>svg{position:absolute;inset:0;pointer-events:none}
.plc-flow-builder .sc-edge{fill:none;stroke:#D6C4B8;stroke-width:2;transition:stroke .15s,opacity .15s}
.plc-flow-builder .sc-edge.dashed{stroke:#E08A5E;stroke-dasharray:6 5}
.plc-flow-builder .sc-edge.hot{stroke:var(--sc-accent);stroke-width:2.5}
.plc-flow-builder .sc-edge.dim{opacity:.25}
.plc-flow-builder .sc-col-label{position:absolute;top:18px;font-size:12px;font-weight:600;color:var(--sc-accent-ink)}
.plc-flow-builder .sc-node{position:absolute;width:250px;height:64px;border-radius:12px;transition:opacity .15s,box-shadow .15s}
.plc-flow-builder .sc-node.dim{opacity:.35}
.plc-flow-builder .sc-node.hot{box-shadow:0 0 0 3px var(--sc-accent-soft),0 6px 18px rgba(124,45,18,.14)}
.plc-flow-builder .sc-node-main{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 14px;border-radius:12px;text-align:left;border:1px solid var(--sc-t4);background:#fff;overflow:hidden;color:inherit}
.plc-flow-builder .sc-node-main .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plc-flow-builder .sc-node-main .dt{font-size:12px;color:var(--sc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plc-flow-builder button.sc-node-main:hover{border-color:var(--sc-accent)}
.plc-flow-builder .n-unit .sc-node-main{background:var(--sc-accent-softer);padding-right:30px}
.plc-flow-builder .n-mill .sc-node-main{background:var(--sc-t2);border-color:var(--sc-t2);color:#fff;padding-right:30px}
.plc-flow-builder .n-mill .sc-node-main .dt{color:#FAD9C6}
.plc-flow-builder .n-product .sc-node-main{background:var(--sc-ink);border-color:var(--sc-ink);color:#fff;padding-right:30px}
.plc-flow-builder .n-product .sc-node-main .dt{color:#D9CFC8}
.plc-flow-builder .n-add .sc-node-main{border:2px dashed #E08A5E;background:var(--sc-accent-soft);color:var(--sc-accent-ink);font-weight:600;flex-direction:row;align-items:center;justify-content:center;gap:8px}
.plc-flow-builder .n-addmill .sc-node-main{border:1.5px dashed var(--sc-line2);background:#fff;color:var(--sc-accent);font-weight:600;flex-direction:row;align-items:center;justify-content:center;gap:8px;height:48px}
.plc-flow-builder .sc-handle{position:absolute;right:-20px;top:12px;width:40px;height:40px;border-radius:999px;background:var(--sc-accent);color:#fff;border:3px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.15);padding:0}
.plc-flow-builder .sc-handle:hover{background:var(--sc-accent-hover)}
.plc-flow-builder .warn-t{color:var(--sc-accent-ink)!important;font-weight:600}
.plc-flow-builder .n-mill .warn-t{color:#FFD2B8!important}
.plc-flow-pop{position:fixed;z-index:1080;background:#fff;border:1px solid #E4D6CC;border-radius:12px;box-shadow:0 12px 32px rgba(31,26,23,.16);padding:6px;color:#1F1A17}
.plc-flow-pop.picker{width:340px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:8px;padding:12px}
.plc-flow-pop .picker-head{display:flex;gap:8px;align-items:center;font-weight:600}
.plc-flow-pop .picker-list{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.plc-flow-pop .opt{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:8px;min-height:44px;width:100%}
.plc-flow-pop .opt:hover,.plc-flow-pop .opt:focus-visible{background:#FFF3EC}
.plc-flow-pop .opt-name{font-weight:500}.plc-flow-pop .opt-detail{font-size:12px;color:#6B625C}
.plc-flow-pop .picker-empty,.plc-flow-pop .picker-foot{font-size:12px;color:#6B625C;padding:6px 4px}
.plc-flow-pop .picker-foot{border-top:1px solid #EDE2DA;padding-top:8px}
.plc-flow-pop .search{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid #E4D6CC;border-radius:8px;color:#6B625C;background:#fff}
.plc-flow-pop .search input{border:none;outline:none;flex:1;min-width:0;background:transparent}
.plc-flow-pop.menu{min-width:220px;display:flex;flex-direction:column}
.plc-flow-pop.menu button{height:40px;text-align:left;padding:0 12px;border:none;background:transparent;border-radius:6px}
.plc-flow-pop.menu button:hover{background:#FFF3EC}
.plc-flow-pop.menu .danger{color:#B42318}
.plc-flow-pop.menu hr{border:none;border-top:1px solid #EDE2DA;margin:4px 0}
.plc-flow-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1F1A17;color:#fff;padding:10px 16px;border-radius:10px;z-index:1090;display:none}
.plc-flow-loader{position:absolute;inset:0;z-index:8;display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:rgba(255,255,255,.92);border-radius:14px}
.plc-flow-loader .sc-load-text{font-size:14px;font-weight:600;color:#6B625C;text-align:center;max-width:320px}
.plc-flow-builder.is-catalog-loading .sc-secnav,
.plc-flow-builder.is-catalog-loading #plc_flow_view,
.plc-flow-builder.is-catalog-loading #plc_other_sites_wrap,
.plc-flow-builder.is-catalog-loading #plc_certified_wrap,
.plc-flow-builder.is-catalog-error .sc-secnav,
.plc-flow-builder.is-catalog-error #plc_flow_view,
.plc-flow-builder.is-catalog-error #plc_other_sites_wrap,
.plc-flow-builder.is-catalog-error #plc_certified_wrap{pointer-events:none;opacity:.35}

/* --- 13: admin/plc/plc_entries.blade.php (+6 duplicates) --- */
#plc_search_season + .select2-container .select2-selection--multiple {
        min-height: 38px;
        border: 1px solid #ced4da;
        border-radius: 0.375rem;
    }

/* --- 14: admin/plc/show.blade.php (+5 duplicates) --- */
.pefcr-benchmark-heading,
                                .pefcr-results-heading {
                                    color: #e84a1a;
                                    font-weight: 700;
                                    font-size: 1.35rem;
                                    margin-bottom: 0.5rem;
                                }
                                .pefcr-results-heading {
                                    margin-top: 0.25rem;
                                    margin-bottom: 0.75rem;
                                }
                                .pefcr-benchmark-sub {
                                    color: #6b7280;
                                    margin-bottom: 1.25rem;
                                }
                                .pefcr-benchmark-category {
                                    color: #e84a1a;
                                }
                                .pefcr-benchmark-metrics {
                                    display: flex;
                                    flex-wrap: wrap;
                                    align-items: stretch;
                                    gap: 1.25rem 1.5rem;
                                    margin-bottom: 0.5rem;
                                }
                                .pefcr-benchmark-metric {
                                    min-width: 140px;
                                    flex: 1 1 140px;
                                }
                                .pefcr-benchmark-metric--total {
                                    flex: 1.2 1 160px;
                                }
                                .pefcr-benchmark-divider {
                                    width: 1px;
                                    background: #d1d5db;
                                    align-self: stretch;
                                    min-height: 48px;
                                }
                                .pefcr-benchmark-value {
                                    display: flex;
                                    align-items: baseline;
                                    gap: 0.35rem;
                                    margin-bottom: 0.25rem;
                                }
                                .pefcr-benchmark-number {
                                    font-size: 1.75rem;
                                    font-weight: 700;
                                    color: #111827;
                                    line-height: 1.1;
                                }
                                .pefcr-benchmark-number--accent {
                                    color: #e84a1a;
                                }
                                .pefcr-benchmark-unit {
                                    color: #9ca3af;
                                    font-size: 0.9rem;
                                }
                                .pefcr-benchmark-label {
                                    color: #6b7280;
                                    font-size: 0.85rem;
                                }
                                @media (max-width: 767.98px) {
                                    .pefcr-benchmark-divider {
                                        display: none;
                                    }
                                }

/* --- 15: admin/plc/show.blade.php (+5 duplicates) --- */
.plc-admin-show-tabs.nav-tabs { flex-wrap: nowrap; overflow-x: auto; border-bottom: 1px solid rgba(0, 0, 0, 0.08); -webkit-overflow-scrolling: touch; }
                                .plc-admin-show-tabs .nav-link { color: #5c5f66; border: none; border-radius: 0; border-bottom: 2px solid transparent; white-space: nowrap; padding: 0.65rem 0.9rem; }
                                .plc-admin-show-tabs .nav-link:hover { border-bottom-color: rgba(64, 81, 137, 0.35); color: #2a3042; }
                                .plc-admin-show-tabs .nav-link.active { color: #2a3042; border-bottom-color: #405189; font-weight: 600; background: transparent; }
                                .plc-pco2-inner-tabs .nav-link { font-size: 0.8125rem; padding: 0.4rem 0.65rem; }
                                .plc-pco2-inner-tabs .nav-link.active { background-color: #405189; color: #fff; border-radius: 0.375rem; }

/* --- 16: admin/products/create.blade.php (+5 duplicates) --- */
#product_size_range + .select2-container .select2-selection--multiple {
            min-height: 38px;
            border: 1px solid #ced4da;
            border-radius: 0.375rem;
        }

/* --- 17: admin/products/create.blade.php (+6 duplicates) --- */
#wash_type + .select2-container .select2-selection--multiple,
                                                #drying_method + .select2-container .select2-selection--multiple {
                                                    min-height: 38px;
                                                    border: 1px solid #ced4da;
                                                    border-radius: 0.375rem;
                                                }

/* --- 18: admin/products/products.blade.php (+4 duplicates) --- */
#products_search_season + .select2-container .select2-selection--multiple {
            min-height: 38px;
            border: 1px solid #ced4da;
            border-radius: 0.375rem;
        }

/* --- 19: admin/products/products.blade.php (+5 duplicates) --- */
.products-table-module {
                                        --pt-border: #e8e2da;
                                        --pt-muted: #7a7268;
                                        --pt-dark: #1f1a17;
                                        --pt-accent: #c45a2c;
                                        --pt-bg: #faf8f5;
                                    }

                                    .products-table-module .products-table-wrap {
                                        background: var(--pt-bg);
                                        border: 1px solid var(--pt-border);
                                        border-radius: 0 0 12px 12px;
                                        padding: 0.85rem 1rem 1rem;
                                    }

                                    .products-table {
                                        --bs-table-bg: #fff;
                                        margin-bottom: 0;
                                    }

                                    .products-table thead th {
                                        background: #fff;
                                        color: var(--pt-muted);
                                        font-size: 0.7rem;
                                        font-weight: 700;
                                        letter-spacing: 0.05em;
                                        text-transform: uppercase;
                                        border-bottom: 1px solid var(--pt-border);
                                        white-space: nowrap;
                                        vertical-align: middle;
                                        padding: 0.75rem 0.65rem;
                                    }

                                    .products-table tbody td {
                                        vertical-align: middle;
                                        border-bottom: 1px solid #f0ebe4;
                                        padding: 0.7rem 0.65rem;
                                        font-size: 0.875rem;
                                        color: #3d3834;
                                    }

                                    .products-table tbody tr:hover {
                                        background: #fffdf9;
                                    }

                                    .products-table__index {
                                        color: var(--pt-muted);
                                        font-size: 0.8rem;
                                        font-weight: 600;
                                        width: 3rem;
                                    }

                                    .products-table__product {
                                        display: flex;
                                        align-items: center;
                                        gap: 0.75rem;
                                        min-width: 200px;
                                    }

                                    .products-table__thumb {
                                        width: 52px;
                                        height: 52px;
                                        border-radius: 10px;
                                        background: #f3efe9;
                                        border: 1px solid var(--pt-border);
                                        display: flex;
                                        align-items: center;
                                        justify-content: center;
                                        overflow: hidden;
                                        flex-shrink: 0;
                                    }

                                    .products-table__thumb img {
                                        width: 100%;
                                        height: 100%;
                                        object-fit: cover;
                                        display: block;
                                    }

                                    .products-table__thumb i {
                                        color: #a89f96;
                                        font-size: 1.25rem;
                                    }

                                    .products-table__name {
                                        font-weight: 600;
                                        color: var(--pt-dark);
                                        line-height: 1.25;
                                        text-decoration: none;
                                    }

                                    a.products-table__name:hover {
                                        color: var(--pt-accent);
                                    }

                                    .products-table__meta {
                                        font-size: 0.75rem;
                                        color: var(--pt-muted);
                                        margin-top: 0.15rem;
                                    }

                                    .products-table__muted {
                                        color: var(--pt-muted);
                                    }

                                    .dpp-list-health {
                                        min-width: 110px;
                                    }

                                    .dpp-list-health__link {
                                        display: flex;
                                        align-items: center;
                                        gap: 0.45rem;
                                        color: inherit;
                                    }

                                    .dpp-list-health__bar {
                                        flex: 1 1 auto;
                                        background: rgba(43, 33, 24, 0.08);
                                        border-radius: 999px;
                                        overflow: hidden;
                                    }

                                    .dpp-list-health__pct {
                                        font-size: 0.78rem;
                                        font-weight: 700;
                                        color: var(--pt-muted, #7a6a5c);
                                        white-space: nowrap;
                                    }

                                    .products-table__flag {
                                        display: inline-block;
                                        font-size: 0.68rem;
                                        font-weight: 600;
                                        padding: 0.2rem 0.55rem;
                                        border-radius: 999px;
                                        background: #f3efe9;
                                        color: #5c534a;
                                        max-width: 140px;
                                        white-space: nowrap;
                                        overflow: hidden;
                                        text-overflow: ellipsis;
                                        vertical-align: middle;
                                    }

                                    .products-table__flag--alert {
                                        background: #fdecea;
                                        color: #9b2c2c;
                                    }

                                    .products-table__actions {
                                        display: flex;
                                        align-items: center;
                                        gap: 0.35rem;
                                        flex-wrap: wrap;
                                    }

                                    .products-table__actions .btn {
                                        padding: 0.28rem 0.55rem;
                                        line-height: 1.2;
                                    }

                                    .products-table-module .dataTables_wrapper .dataTables_filter input,
                                    .products-table-module .dataTables_wrapper .dataTables_length select {
                                        border-radius: 8px;
                                        border: 1px solid var(--pt-border);
                                    }

/* --- 20: admin/samplings/list.blade.php (+5 duplicates) --- */
#samplings-listing-table thead th {
        background: #fff;
        color: #7a7268;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        border-bottom: 1px solid #e8e2da;
        white-space: nowrap;
        padding: 0.75rem 0.65rem;
    }
    #samplings-listing-table tbody td {
        padding: 0.7rem 0.65rem;
        border-bottom: 1px solid #f0ebe4;
        font-size: 0.875rem;
    }

/* --- 21: admin/samplings/list.blade.php (+5 duplicates) --- */
.c2c-sampling-overview {
        --c2c-dark: #1a1614;
        --c2c-accent: #e84a1a;
        --c2c-muted: #8a8178;
        --c2c-border: #ece6df;
        --c2c-bg: #f5f0ea;
    }
    .c2c-sampling-overview__bar {
        background: linear-gradient(135deg, #e84a1a 0%, #d63d12 100%);
        color: #fff;
        border-radius: 14px;
        padding: 1.15rem 1.35rem;
        margin-bottom: 1rem;
        box-shadow: 0 8px 24px rgba(232, 74, 26, .18);
    }
    .c2c-sampling-overview__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
    }
    @media (max-width: 768px) {
        .c2c-sampling-overview__grid { grid-template-columns: 1fr; }
    }
    .c2c-sampling-overview__label {
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        opacity: .88;
        margin-bottom: .25rem;
    }
    .c2c-sampling-overview__value {
        font-size: 1.55rem;
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: -.02em;
    }
    .c2c-sampling-overview__sub {
        font-size: .82rem;
        opacity: .9;
        margin-top: .2rem;
    }
    .c2c-uplift { font-size: 1.05rem; font-weight: 800; color: #1a1614; }
    .c2c-uplift-meta { font-size: .72rem; color: #8a8178; margin-top: .15rem; }

/* --- 22: api/dpp/general/partials/passport_batch_order_tabs.blade.php (+1 duplicates) --- */
.dpp-batch-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 0;
        margin-bottom: 8px;
    }

    .dpp-batch-tab {
        border: 1px solid #ced4da;
        background: #fff;
        color: #333;
        padding: 8px 16px;
        border-radius: 999px;
        cursor: pointer;
        font-size: 14px;
        font-weight: 500;
        font-family: 'Poppins', sans-serif;
    }

    .dpp-batch-tab.active {
        background: #212529;
        color: #fff;
        border-color: #212529;
    }

    .dpp-batch-panel {
        display: none;
    }

    .dpp-batch-panel.active {
        display: block;
    }

/* --- 23: api/dpp/general/partials/repair_eol.blade.php (+1 duplicates) --- */
.dpp-cr__cta-status,
                                    .dpp-cr__nearby {
                                        flex-basis: 100%;
                                        width: 100%;
                                    }
                                    .dpp-cr__cta-status {
                                        margin: 0.75rem 0 0;
                                        font-size: 0.875rem;
                                        line-height: 1.4;
                                        color: #8a3b2a;
                                    }
                                    .dpp-cr__cta-status[data-tone="error"] { color: #b42318; }
                                    .dpp-cr__cta-status[data-tone="info"] { color: #475467; }
                                    .dpp-cr__nearby {
                                        margin-top: 1rem;
                                        width: 100%;
                                        text-align: left;
                                    }
                                    .dpp-cr__nearby-block + .dpp-cr__nearby-block { margin-top: 1rem; }
                                    .dpp-cr__nearby-title {
                                        margin: 0 0 0.5rem;
                                        font-size: 0.95rem;
                                        font-weight: 700;
                                        color: #fff;
                                    }
                                    .dpp-cr__nearby-list {
                                        list-style: none;
                                        margin: 0;
                                        padding: 0;
                                        display: grid;
                                        gap: 0.5rem;
                                    }
                                    .dpp-cr__nearby-item {
                                        display: flex;
                                        justify-content: space-between;
                                        gap: 0.75rem;
                                        align-items: flex-start;
                                        padding: 0.75rem 0.85rem;
                                        border: 1px solid rgba(0,0,0,0.08);
                                        border-radius: 0.65rem;
                                        background: rgba(255,255,255,0.72);
                                    }
                                    .dpp-cr__nearby-name {
                                        margin: 0;
                                        font-size: 0.9rem;
                                        font-weight: 600;
                                        color: #1a1a1a;
                                    }
                                    .dpp-cr__nearby-meta {
                                        margin: 0.2rem 0 0;
                                        font-size: 0.78rem;
                                        color: #667085;
                                    }
                                    .dpp-cr__nearby-link {
                                        flex-shrink: 0;
                                        font-size: 0.8rem;
                                        font-weight: 600;
                                        color: #e84a1a;
                                        text-decoration: none;
                                        white-space: nowrap;
                                    }
                                    .dpp-cr__nearby-link:hover { text-decoration: underline; }
                                    .dpp-cr__cta-btn[disabled] { opacity: 0.65; cursor: wait; }

/* --- 24: api/dpp/general/partials/repair_eol.blade.php (+1 duplicates) --- */
.dpp-cr__icon-label {
                                    white-space: normal;
                                    overflow: visible;
                                    text-overflow: unset;
                                    max-width: none;
                                    line-height: 1.25;
                                    hyphens: auto;
                                }

/* --- 25: api/dpp/general/shell.blade.php (+1 duplicates) --- */
.dpp-v2 .dpp-v2-map,
        .dpp-v2 .dpp-v2-map .leaflet-container {
            background: #aad3df !important;
        }
        .dpp-v2 .dpp-v2-map-marker {
            background: transparent !important;
            border: none !important;
        }
        .dpp-v2 .leaflet-interactive.dpp-v2-map-circle {
            stroke: #1e3a8a;
            fill: #1d4ed8;
        }
        .dpp-v2 .section .journey-section,
        .dpp-v2 .section .dpp-journey,
        .dpp-v2 .dpp-journey,
        .dpp-v2 .dpp-v2-map,
        .dpp-v2 .dpp-v2-map .leaflet-container {
            width: 100% !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            left: auto !important;
            right: auto !important;
            box-sizing: border-box;
        }
        .dpp-v2 .dpp-v2-map {
            overflow: hidden;
            position: relative;
        }
        .dpp-v2 .dpp-journey-tabs {
            padding: 0;
        }
        .dpp-v2 a.unlock-btn,
        .dpp-v2 a.unlock-authority-btn {
            display: inline-block;
            text-decoration: none;
        }

/* --- 26: components/compliance_labelling/dashboard.blade.php --- */
.cl-module { --cl-bg: #f5f0ea; --cl-card: #fff; --cl-dark: #2d2419; --cl-muted: #8a8178; --cl-green: #22a06b; --cl-orange: #e56910; --cl-red: #c9372c; }
    .cl-tabs {
        display: inline-flex;
        gap: 4px;
        background: #ece6df;
        border-radius: 999px;
        padding: 4px;
        margin-bottom: 1.25rem;
        border: none;
        box-shadow: none;
    }
    .cl-tabs a {
        padding: 0.45rem 1.05rem;
        border-radius: 999px;
        color: var(--cl-dark);
        text-decoration: none;
        font-weight: 500;
        font-size: 0.9rem;
        border: none;
        background: transparent;
        transition: background 0.15s ease, color 0.15s ease;
    }
    .cl-tabs a:hover { color: var(--cl-dark); }
    .cl-tabs a.active {
        background: var(--cl-dark);
        color: #fff;
        font-weight: 600;
        box-shadow: none;
    }
    .cl-market-pills { display: flex; gap: .5rem; flex-wrap: wrap; }
    .cl-market-pills a { border: 1px solid #ddd5cb; background: #fff; color: var(--cl-dark); border-radius: 999px; padding: .35rem .85rem; font-size: .85rem; text-decoration: none; }
    .cl-market-pills a.active { background: var(--cl-dark); color: #fff; border-color: var(--cl-dark); }
    .cl-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.25rem; }
    .cl-stat-card { background: var(--cl-card); border-radius: 14px; padding: 1rem 1.1rem; border: 1px solid #ebe4db; }
    .cl-stat-card .num { font-size: 1.75rem; font-weight: 700; line-height: 1.1; }
    .cl-stat-card .lbl { color: var(--cl-muted); font-size: .85rem; margin-top: .15rem; }
    .cl-panel {
        background: var(--portal-table-surface, #fefaf7);
        border: 1px solid var(--portal-table-border, rgba(43, 31, 26, 0.14));
        border-radius: 0.85rem;
        overflow: hidden;
        box-shadow: 0 4px 18px rgba(43, 31, 26, 0.08);
    }
    .cl-panel-head {
        padding: 1rem 1.1rem 0.85rem;
        border-bottom: 1px solid var(--portal-table-border, rgba(43, 31, 26, 0.14));
        color: var(--portal-ink, #2b1f1a);
        font-size: 1.15rem;
        font-weight: 700;
        letter-spacing: -0.01em;
        text-transform: none;
        background: var(--portal-table-surface, #fefaf7);
        line-height: 1.4;
    }
    .cl-panel .table-responsive,
    .cl-panel .listing-table-wrap {
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible;
    }
    .cl-panel .listing-toolbar {
        margin: 0;
        padding: 0.85rem 1.1rem;
        border-bottom: 1px solid var(--portal-table-border, rgba(43, 31, 26, 0.14));
        background: var(--portal-table-surface, #fefaf7);
    }
    .cl-panel .listing-footer {
        margin: 0;
        padding: 0.85rem 1.1rem;
        border-top: 1px solid var(--portal-table-border, rgba(43, 31, 26, 0.14));
        background: var(--portal-table-surface, #fefaf7);
    }
    .cl-product-row { display: grid; grid-template-columns: 1.6fr repeat(3, 56px) 140px; gap: .75rem; align-items: center; padding: .9rem 1rem; border-bottom: 1px solid #f1ece6; }
    .cl-product-row:last-child { border-bottom: 0; }
    .cl-product-name { font-weight: 600; color: var(--cl-dark); }
    .cl-product-meta { color: var(--cl-muted); font-size: .82rem; margin-top: .15rem; }
    .cl-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; margin: 0 auto; }
    .cl-dot.green { background: var(--cl-green); }
    .cl-dot.orange { background: var(--cl-orange); }
    .cl-dot.red { background: var(--cl-red); }
    .cl-dot.grey { background: #c5bdb4; }
    .cl-progress { height: 8px; background: #ece6df; border-radius: 999px; overflow: hidden; flex: 1; }
    .cl-progress > span { display: block; height: 100%; border-radius: 999px; }
    .cl-labelling-grid { display: grid; grid-template-columns: 1.4fr repeat(var(--cols, 5), minmax(70px, 1fr)); gap: .5rem; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid #f1ece6; font-size: .88rem; }
    .cl-labelling-grid.head { background: #faf7f3; font-size: .72rem; font-weight: 700; text-transform: uppercase; color: var(--cl-muted); letter-spacing: .03em; }
    .cl-suggest-card { background:#fff4e5; border:1px solid #ffd8a8; border-radius:12px; padding:.9rem 1rem; margin-bottom:1rem; color:#7a4b00; font-size:.9rem; }
    .cl-suggest-card.danger { background:#ffeceb; border-color:#f5c2c0; color:#8a1f1a; }
    .cl-flag-head { font-size:1.1rem; line-height:1; }
    .cl-table-wrap { padding: 0; }
    .cl-compliance-table thead th,
    .cl-labelling-table thead th {
        background: var(--portal-table-surface, #fefaf7);
        color: var(--portal-ink, #2b1f1a);
        font-size: 0.95rem;
        font-weight: 700;
        text-transform: none;
        letter-spacing: -0.01em;
        border-bottom: 1px solid var(--portal-table-border, rgba(43, 31, 26, 0.14));
        vertical-align: middle;
    }
    .cl-compliance-table tbody td, .cl-labelling-table tbody td { vertical-align:middle; }
    .cl-overall-cell { min-width:140px; }
    .cl-rules-table td, .cl-rules-table th { vertical-align: middle; }
    @media (max-width: 992px) {
        .cl-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .cl-product-row { grid-template-columns: 1fr; }
    }

/* --- 27: components/compliance_labelling/form_product_fields_script.blade.php --- */
#compliance_markets + .select2-container .select2-selection--multiple,
    #compliance_eu_countries + .select2-container .select2-selection--multiple {
        min-height: 38px;
        border: 1px solid #ced4da;
        border-radius: 0.375rem;
    }

/* --- 28: components/compliance_labelling/labelling_overview.blade.php --- */
.cl-lo { --cl-green:#22a06b; --cl-orange:#e56910; --cl-red:#c9372c; --cl-dark:#2d2419; --cl-muted:#8a8178; }
    .cl-lo-breadcrumb { font-size:.85rem; color:var(--cl-muted); margin-bottom:.35rem; }
    .cl-lo-breadcrumb a { color:var(--cl-muted); text-decoration:none; }
    .cl-lo-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; max-width:300px; }
    .cl-lo-stat { border-radius:10px; padding:.55rem .7rem; text-align:center; border:1px solid #ebe4db; }
    .cl-lo-stat.complete { background:#e8f6ef; }
    .cl-lo-stat.partial { background:#fff4e5; }
    .cl-lo-stat.missing { background:#ffeceb; }
    .cl-lo-stat .n { font-size:1.35rem; font-weight:700; line-height:1; }
    .cl-lo-suggest { background:#fff4e5; border:1px solid #ffd8a8; border-radius:12px; padding:.9rem 1rem; margin:1rem 0; }
    .cl-lo-section { background:#fff; border:1px solid #ebe4db; border-radius:14px; padding:1rem; height:100%; }
    .cl-lo-section h6 { font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--cl-muted); margin-bottom:.15rem; }
    .cl-lo-section .reg { font-size:.78rem; color:var(--cl-muted); margin-bottom:.85rem; }
    .cl-lo-field { display:flex; gap:.75rem; align-items:flex-start; padding:.75rem 0; border-bottom:1px solid #f1ece6; }
    .cl-lo-field:last-child { border-bottom:0; padding-bottom:0; }
    .cl-lo-field .icon { font-size:1.15rem; line-height:1.4; flex-shrink:0; }
    .cl-lo-field .body { flex:1; min-width:0; }
    .cl-lo-field .title { font-weight:600; color:var(--cl-dark); }
    .cl-lo-field .value { color:#4a443c; margin-top:.15rem; }
    .cl-lo-field .hint { font-size:.82rem; margin-top:.25rem; }
    .cl-lo-market-tabs .btn { border-radius:999px; }
    .cl-lo-market-tabs .dot { width:8px; height:8px; border-radius:50%; display:inline-block; margin-left:.35rem; vertical-align:middle; }
    .cl-lo-market-tabs .dot.green { background:#22a06b; }
    .cl-lo-market-tabs .dot.orange { background:#e56910; }
    .cl-lo-market-tabs .dot.red { background:#c9372c; }
    .cl-lo-market-tabs .dot.grey { background:#c5bdb4; }
    .cl-claim-flagged { background:#ffe08a; padding:0 .15rem; border-radius:3px; font-weight:600; }
    .cl-green-claims { background:#fff; border:1px solid #ebe4db; border-radius:14px; padding:1rem; margin-bottom:1rem; }
    .cl-green-claims table { font-size:.88rem; }
    .cl-green-claims .term { font-family:var(--bs-font-monospace); background:#f5f0ea; padding:.1rem .35rem; border-radius:4px; }

/* --- 29: components/compliance_labelling/product_detail.blade.php --- */
.cl-detail { --cl-green:#22a06b; --cl-orange:#e56910; --cl-red:#c9372c; --cl-dark:#2d2419; }
    .cl-detail-badges .badge { margin-right:.35rem; margin-bottom:.35rem; }
    .cl-detail-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; max-width:320px; }
    .cl-detail-stat { border:1px solid #ebe4db; border-radius:10px; padding:.65rem; text-align:center; background:#fff; }
    .cl-detail-stat .n { font-size:1.4rem; font-weight:700; }
    .cl-detail-market-tabs .btn { border-radius:999px; }
    .cl-field-card { border:1px solid #ebe4db; border-radius:12px; padding:.85rem 1rem; margin-bottom:.75rem; background:#fff; }
    .cl-field-card.complete { border-left:4px solid var(--cl-green); }
    .cl-field-card.partial { border-left:4px solid var(--cl-orange); }
    .cl-field-card.missing { border-left:4px solid var(--cl-red); }
    .cl-attention { background:#fff4e5; border:1px solid #ffd8a8; border-radius:12px; padding:.85rem 1rem; margin:1rem 0; }

/* --- 30: components/cost_to_close/detail_panel.blade.php --- */
.c2c-wa { padding: 1.1rem 1.25rem 1.35rem; border-bottom: 1px solid var(--c2c-border); }
    .c2c-wa__title { font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--c2c-accent); margin: 0 0 .25rem; }
    .c2c-wa__sub { font-size: .78rem; color: var(--c2c-muted); margin: 0 0 1rem; }
    .c2c-wa__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
    @media (max-width: 720px) { .c2c-wa__grid { grid-template-columns: 1fr; } }
    .c2c-wa__card {
        background: var(--c2c-surface);
        border: 1px solid var(--c2c-border);
        border-radius: 12px;
        padding: .95rem 1.05rem;
    }
    .c2c-wa__card-label { font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--c2c-muted); margin-bottom: .35rem; }
    .c2c-wa__card-value { font-size: 1.55rem; font-weight: 700; color: #fff; line-height: 1.15; }
    .c2c-wa__card-sub { font-size: .72rem; color: var(--c2c-muted); margin-top: .3rem; }
    .c2c-wa__eq { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; margin-top: .35rem; }
    .c2c-wa__eq-op { font-size: 1.35rem; font-weight: 700; color: var(--c2c-muted); padding: 0 .15rem; }
    .c2c-wa__card--accent { border-color: rgba(232, 74, 26, .55); }
    .c2c-wa__card--total { background: #1e3a28; border-color: #2f6b45; }
    .c2c-wa__card--total .c2c-wa__card-value { color: #b6d67a; }
    .c2c-wa__smv-flag {
        margin-top: .65rem; font-size: .72rem; padding: .45rem .65rem; border-radius: 6px;
        background: rgba(232, 74, 26, .12); border: 1px solid rgba(232, 74, 26, .35); color: #ffb089;
    }
    .c2c-wa__smv-flag.is-ok {
        background: rgba(107, 142, 35, .12); border-color: rgba(107, 142, 35, .35); color: #b6d67a;
    }
    .c2c-wa__results { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-top: .25rem; }
    @media (max-width: 992px) { .c2c-wa__results { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 768px) { .c2c-wa__results { grid-template-columns: 1fr; } }
    /* Wage Outcome Scale — explore drag only (does not change FOB / uplift) */
    .c2c-outcome { padding: 1.1rem 1.25rem 1.35rem; border-bottom: 1px solid var(--c2c-border); }
    .c2c-outcome .c2c-nego__track {
        cursor: grab;
        touch-action: none;
        user-select: none;
    }
    .c2c-outcome .c2c-nego__track.is-dragging { cursor: grabbing; }
    .c2c-outcome .c2c-nego__scale-markers > span,
    .c2c-outcome .c2c-nego__zone-labels > span {
        cursor: default;
        pointer-events: none;
    }
    .c2c-outcome .c2c-nego__zone-labels > span:hover,
    .c2c-outcome .c2c-nego__zone-labels > span:focus-visible,
    .c2c-outcome .c2c-nego__scale-markers > span:hover {
        background: transparent;
        color: var(--c2c-muted);
    }
    .c2c-outcome .c2c-nego__pin.is-now {
        background: #fff;
        z-index: 2;
        pointer-events: none;
    }
    .c2c-outcome .c2c-nego__pin.is-after {
        background: var(--c2c-accent);
        box-shadow: 0 0 0 2px rgba(232, 74, 26, .55), 0 2px 8px rgba(0,0,0,.45);
        z-index: 3;
        height: 36px;
        top: -9px;
        width: 5px;
        pointer-events: none;
    }
    .c2c-outcome .c2c-nego__pin.is-after.is-exploring {
        box-shadow: 0 0 0 2px rgba(232, 74, 26, .85), 0 0 12px rgba(232, 74, 26, .45);
    }
    .c2c-outcome__span {
        position: absolute;
        top: 50%;
        height: 6px;
        transform: translateY(-50%);
        border-radius: 999px;
        pointer-events: none;
        z-index: 1;
        background: linear-gradient(90deg, rgba(255,255,255,.55), rgba(232, 74, 26, .95));
        box-shadow: 0 0 0 1px rgba(26,22,20,.25);
    }
    .c2c-outcome__span.is-explore {
        background: repeating-linear-gradient(
            90deg,
            rgba(232, 74, 26, .95) 0 6px,
            rgba(232, 74, 26, .15) 6px 11px
        );
        height: 4px;
        top: calc(50% + 7px);
        opacity: .95;
    }
    .c2c-outcome .c2c-nego__pin.is-committed {
        background: transparent;
        border: 2px dashed rgba(255,255,255,.85);
        width: 8px;
        height: 28px;
        top: -5px;
        box-shadow: none;
        z-index: 2;
        pointer-events: none;
        opacity: 0;
    }
    .c2c-outcome .c2c-nego__pin.is-committed.is-visible {
        opacity: 1;
    }
    .c2c-outcome__change {
        margin-top: .75rem;
        padding: .7rem .85rem;
        border-radius: 10px;
        border: 1px solid rgba(232, 74, 26, .35);
        background: rgba(232, 74, 26, .1);
        font-size: .8rem;
        color: #f3ece4;
        line-height: 1.45;
    }
    .c2c-outcome__change strong { color: #fff; }
    .c2c-outcome__change.is-explore {
        border-color: rgba(232, 197, 71, .4);
        background: rgba(232, 197, 71, .1);
    }
    .c2c-outcome__change-label {
        font-size: .65rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--c2c-accent);
        margin-bottom: .25rem;
    }
    .c2c-outcome__change.is-explore .c2c-outcome__change-label { color: #e8c547; }
    .c2c-outcome__legend {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .75rem 1.25rem;
        margin-top: .65rem;
        font-size: .72rem;
        color: var(--c2c-muted);
    }
    .c2c-outcome__legend-item {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
    }
    .c2c-outcome__swatch {
        width: 10px;
        height: 14px;
        border-radius: 2px;
        display: inline-block;
    }
    .c2c-outcome__swatch--now { background: #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.35); }
    .c2c-outcome__swatch--after { background: var(--c2c-accent); }
    .c2c-outcome__hint {
        font-size: .68rem;
        color: var(--c2c-muted);
        margin: .35rem 0 0;
    }
    .c2c-outcome__reset {
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
        border: 1px solid var(--c2c-border);
        background: transparent;
        color: #cfc6bc;
        border-radius: 6px;
        padding: .25rem .55rem;
        cursor: pointer;
    }
    .c2c-outcome__reset:hover { color: #fff; border-color: rgba(255,255,255,.35); }
    .c2c-outcome__reset[hidden] { display: none; }
    .c2c-outcome__pct {
        margin-top: .55rem;
        font-size: .78rem;
        color: #cfc6bc;
    }
    .c2c-outcome__pct strong { color: #fff; font-weight: 700; }
    .c2c-outcome .c2c-nego__zone-labels {
        display: grid;
        gap: .35rem;
    }
    .c2c-outcome .c2c-nego__min-tick {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 2px;
        background: rgba(255,255,255,.92);
        transform: translateX(-50%);
        pointer-events: none;
        z-index: 1;
        box-shadow: 0 0 0 1px rgba(26,22,20,.35);
    }

/* --- 31: components/cost_to_close/detail_panel.blade.php --- */
.c2c-detail { --c2c-bg: #1a1614; --c2c-surface: #2a2420; --c2c-accent: #e84a1a; --c2c-text: #f5f0ea; --c2c-muted: #a89f96; --c2c-border: #3d3530; --c2c-hero-bg: #faf8f6; --c2c-hero-dark: #2d2419; }
    .c2c-product-hero {
        display: flex;
        gap: 1.15rem;
        align-items: center;
        margin-bottom: 1.25rem;
        flex-wrap: wrap;
        background: var(--c2c-hero-bg);
        border: 1px solid #ece6df;
        border-radius: 14px;
        padding: 1.1rem 1.35rem;
        box-shadow: 0 4px 18px rgba(45, 36, 25, .07);
    }
    .c2c-product-hero__thumb-wrap {
        width: 56px;
        height: 56px;
        border-radius: 10px;
        background: #ece6df;
        border: 1px solid #ddd5cb;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        flex-shrink: 0;
    }
    .c2c-product-hero__thumb { width: 100%; height: 100%; object-fit: cover; }
    .c2c-product-hero__thumb-wrap i { color: #8a8178; font-size: 1.35rem; }
    .c2c-product-hero__content { flex: 1; min-width: 0; }
    .c2c-product-hero__name {
        font-size: 1.05rem;
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: var(--c2c-hero-dark);
        line-height: 1.2;
        margin: 0 0 .2rem;
    }
    .c2c-product-hero__sku { font-size: .8rem; color: #8a8178; margin-bottom: .65rem; }
    .c2c-hero-meta { display: flex; flex-wrap: wrap; gap: 1.75rem; }
    .c2c-hero-meta-item .lbl {
        font-size: .62rem;
        text-transform: uppercase;
        letter-spacing: .1em;
        color: #a89f96;
        font-weight: 600;
        margin-bottom: .15rem;
    }
    .c2c-hero-meta-item .val {
        font-weight: 600;
        font-size: .88rem;
        color: var(--c2c-hero-dark);
    }
    .c2c-panel-dark { background: var(--c2c-bg); color: var(--c2c-text); border-radius: 14px; overflow: hidden; border: 1px solid var(--c2c-border); }
    .c2c-panel-dark__banner { padding: 1rem 1.25rem; border-bottom: 1px solid var(--c2c-border); }
    .c2c-panel-dark__title { font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c2c-accent); margin-bottom: .25rem; }
    .c2c-panel-dark__subtitle { font-size: .78rem; color: var(--c2c-muted); margin: 0; }
    .c2c-panel-dark__section { padding: 1rem 1.25rem; border-bottom: 1px solid var(--c2c-border); }
    .c2c-panel-dark__section-title { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c2c-accent); margin-bottom: .65rem; }
    .c2c-panel-dark__row { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; align-items: baseline; font-size: .88rem; }
    .c2c-panel-dark__row small { color: var(--c2c-muted); font-size: .75rem; }
    .c2c-panel-dark__highlight { color: var(--c2c-accent); font-weight: 700; }
    .c2c-panel-dark__tag { display: inline-block; font-size: .6rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: .1rem .35rem; border-radius: 3px; margin-left: .25rem; vertical-align: middle; }
    .c2c-panel-dark__tag--local { background: rgba(59, 111, 217, .25); color: #7eb8ff; }
    .c2c-panel-dark__tag--gbp { background: rgba(34, 160, 107, .25); color: #6dd9a8; }
    .c2c-panel-dark__tag--min { background: rgba(154, 77, 180, .25); color: #d4a5e8; }
    .c2c-panel-dark__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; padding: 1rem 1.25rem; background: var(--c2c-surface); }
    @media (max-width: 768px) { .c2c-panel-dark__cards { grid-template-columns: 1fr; } }
    .c2c-panel-dark__card { background: var(--c2c-bg); border: 1px solid var(--c2c-border); border-radius: 8px; padding: .85rem; text-align: center; }
    .c2c-panel-dark__card-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; color: var(--c2c-muted); margin-bottom: .35rem; }
    .c2c-panel-dark__card-value { font-size: 1.35rem; font-weight: 700; color: var(--c2c-accent); line-height: 1.2; }
    .c2c-panel-dark__card-sub { font-size: .75rem; color: var(--c2c-muted); margin-top: .25rem; }
    .c2c-panel-dark__toggle-row { display: flex; justify-content: space-between; align-items: center; padding: .85rem 1.25rem; border-bottom: 1px solid var(--c2c-border); }
    .c2c-impact-card { background: #fde8e4; border-radius: 14px; padding: 1.15rem 1.25rem; margin-top: 1rem; color: #3d2a24; }
    .c2c-impact-card__title { color: var(--c2c-accent); font-weight: 700; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .5rem; }
    .c2c-impact-card__stat { font-size: 1.1rem; font-weight: 700; margin-bottom: .25rem; }
    .c2c-gender-bar { display: flex; height: 8px; border-radius: 999px; overflow: hidden; margin-top: .5rem; max-width: 280px; }
    .c2c-method-note { background: #eef4ff; border-left: 4px solid #3b6fd9; padding: .75rem 1rem; margin-top: .85rem; font-size: .8rem; color: #1a3a6e; border-radius: 0 8px 8px 0; }
    .c2c-method-note-title { font-weight: 700; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .35rem; color: #3b6fd9; }
    .c2c-wage-compare { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: .5rem; }
    @media (max-width: 768px) { .c2c-wage-compare { grid-template-columns: 1fr; } }
    .c2c-wage-compare__box {
        border: 1px solid var(--c2c-border);
        border-radius: 8px;
        padding: .75rem;
        background: rgba(255, 255, 255, .03);
    }
    .c2c-wage-compare__box--primary { border-color: var(--c2c-accent); background: rgba(232, 74, 26, .08); }
    .c2c-wage-compare__label {
        font-size: .62rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--c2c-muted);
        margin-bottom: .45rem;
    }
    .c2c-wage-compare__box--primary .c2c-wage-compare__label { color: var(--c2c-accent); }
    .c2c-wage-compare__metric { font-size: .82rem; display: flex; justify-content: space-between; gap: .5rem; padding: .15rem 0; }
    .c2c-footnote { font-size: .72rem; color: var(--c2c-muted); padding: .75rem 1.25rem 1rem; border-top: 1px dashed var(--c2c-border); }
    .c2c-fob-bar { height: 6px; border-radius: 999px; background: linear-gradient(90deg, #22a06b 0%, #e8c547 40%, #e84a1a 100%); margin: .75rem 0; max-width: 320px; }

    .c2c-nego { padding: 1.15rem 1.25rem 1.35rem; border-bottom: 1px solid var(--c2c-border); }
    .c2c-nego__head { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; margin-bottom: .35rem; }
    .c2c-nego__title { font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--c2c-accent); margin: 0; }
    .c2c-nego__badge { font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: var(--c2c-accent); color: #fff; padding: .2rem .45rem; border-radius: 999px; }
    .c2c-nego__intro { font-size: .8rem; color: var(--c2c-muted); margin: 0 0 1rem; max-width: 52rem; }
    .c2c-nego__inputs { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin-bottom: 1.25rem; }
    @media (max-width: 768px) { .c2c-nego__inputs { grid-template-columns: 1fr; } }
    .c2c-nego__field { background: var(--c2c-surface); border: 1px solid var(--c2c-border); border-radius: 10px; padding: .85rem 1rem; }
    .c2c-nego__field-label { font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c2c-muted); margin-bottom: .4rem; display: flex; align-items: center; gap: .35rem; }
    .c2c-nego__field input { width: 100%; background: transparent; border: 0; color: var(--c2c-text); font-size: 1.55rem; font-weight: 700; line-height: 1.15; padding: 0; outline: none; }
    .c2c-nego__field input::-webkit-outer-spin-button,
    .c2c-nego__field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    .c2c-nego__field input[type=number] { -moz-appearance: textfield; appearance: textfield; }
    .c2c-nego__field-hint { font-size: .72rem; color: var(--c2c-muted); margin-top: .35rem; }
    .c2c-nego__scale-title { font-family: Georgia, 'Times New Roman', serif; font-size: 1.05rem; color: var(--c2c-accent); margin: 0 0 .65rem; font-weight: 600; }
    .c2c-nego__scale-markers { position: relative; height: 1.15rem; font-size: .7rem; color: var(--c2c-muted); margin-bottom: .35rem; }
    .c2c-nego__scale-markers > span {
        position: absolute;
        top: 0;
        transform: translateX(-50%);
        white-space: nowrap;
        max-width: 28%;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .c2c-nego__scale-markers > span[data-marker="min"] { left: 30%; }
    .c2c-nego__scale-markers > span[data-marker="fairtrade"] { left: 55%; }
    .c2c-nego__scale-markers > span[data-marker="living"] { left: 100%; }
    .c2c-nego__track {
        position: relative;
        height: 18px;
        border-radius: 999px;
        cursor: grab;
        background: linear-gradient(90deg, #c0392b 0%, #c0392b 30%, #e67e22 30%, #e67e22 55%, #d4a017 55%, #d4a017 100%);
        box-shadow: inset 0 1px 2px rgba(0,0,0,.35);
        user-select: none;
        touch-action: none;
    }
    .c2c-nego__track.is-dragging { cursor: grabbing; }
    .c2c-nego__pin {
        position: absolute;
        top: -7px;
        width: 4px;
        height: 32px;
        background: #fff;
        border-radius: 2px;
        box-shadow: 0 0 0 2px rgba(26, 22, 20, .85), 0 2px 8px rgba(0,0,0,.45);
        transform: translateX(-50%);
        left: 50%;
        pointer-events: none;
        will-change: left;
        transition: none;
    }
    .c2c-nego__track.is-dragging .c2c-nego__pin { transition: none; }
    .c2c-nego__zone-labels {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .35rem;
        margin-top: .55rem;
        min-height: 2.6rem;
        font-size: .62rem;
        color: var(--c2c-muted);
        line-height: 1.3;
    }
    .c2c-nego__zone-labels > span {
        position: static;
        text-align: center;
        padding: 0 .2rem;
        box-sizing: border-box;
        overflow-wrap: anywhere;
        hyphens: auto;
        cursor: pointer;
        border-radius: 4px;
        transition: background .12s ease, color .12s ease;
    }
    .c2c-nego__zone-labels > span:hover,
    .c2c-nego__zone-labels > span:focus-visible {
        background: rgba(255,255,255,.08);
        color: #f3ece4;
        outline: none;
    }
    .c2c-nego__scale-markers > span {
        cursor: pointer;
    }
    .c2c-nego__scale-markers > span:hover {
        color: #f3ece4;
    }
    @media (max-width: 640px) {
        .c2c-nego__zone-labels { font-size: .58rem; gap: .2rem; }
        .c2c-nego__scale-markers { font-size: .62rem; }
    }
    .c2c-nego__status {
        margin-top: .85rem;
        border-radius: 8px;
        padding: .7rem 1rem;
        font-size: .88rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: .5rem;
        background: #2a2218;
        color: #e8c547;
        border: 1px solid rgba(232, 197, 71, .25);
    }
    .c2c-nego__status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
    .c2c-nego__status.is-below { background: rgba(192, 57, 43, .18); color: #ffb4a8; border-color: rgba(192, 57, 43, .45); }
    .c2c-nego__status.is-amber-low { background: rgba(230, 126, 34, .18); color: #ffc48a; border-color: rgba(230, 126, 34, .45); }
    .c2c-nego__status.is-gap { background: #2a2218; color: #e8c547; border-color: rgba(232, 197, 71, .25); }
    .c2c-nego__status.is-ok { background: rgba(107, 142, 35, .18); color: #b6d67a; border-color: rgba(107, 142, 35, .4); }
    .c2c-nego__results { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-top: 1rem; }
    @media (max-width: 992px) { .c2c-nego__results { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 768px) { .c2c-nego__results { grid-template-columns: 1fr; } }
    .c2c-nego__tile { background: var(--c2c-surface); border: 1px solid var(--c2c-border); border-radius: 10px; padding: .95rem 1rem; }
    .c2c-nego__tile-label { font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c2c-muted); margin-bottom: .4rem; }
    .c2c-nego__tile-value { font-size: 1.45rem; font-weight: 700; color: #fff; line-height: 1.2; }
    .c2c-nego__tile-value.is-accent { color: var(--c2c-accent); }
    .c2c-eff-note { font-size: .72rem; color: var(--c2c-muted); margin-top: .35rem; line-height: 1.4; }
    .c2c-eff-badge {
        display: inline-flex;
        align-items: center;
        gap: .3rem;
        margin-top: .4rem;
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .03em;
        text-transform: uppercase;
        padding: .22rem .5rem;
        border-radius: 4px;
        background: rgba(230, 126, 34, .2);
        color: #ffc48a;
        border: 1px solid rgba(230, 126, 34, .45);
    }
    .c2c-eff-badge--ok {
        background: rgba(107, 142, 35, .15);
        color: #b6d67a;
        border-color: rgba(107, 142, 35, .35);
        text-transform: none;
        letter-spacing: 0;
        font-weight: 600;
    }
    .c2c-panel-dark__eff {
        font-size: .75rem;
        color: #a89f96;
        margin-top: .25rem;
    }
    .c2c-panel-dark__eff.is-warn { color: #ffc48a; }
    .c2c-smv-range-flag {
        margin-top: .45rem;
        padding: .55rem .7rem;
        border-radius: 8px;
        border: 1px solid rgba(232, 74, 26, .45);
        background: rgba(232, 74, 26, .12);
        color: #ffb089;
        font-size: .78rem;
        line-height: 1.4;
    }
    .c2c-smv-range-flag strong { color: #ffd2bc; }
    .c2c-smv-range-flag[hidden] { display: none !important; }
    .c2c-nego__foot { margin-top: 1rem; font-size: .72rem; color: var(--c2c-muted); line-height: 1.55; }
    .c2c-nego__foot code { font-size: .68rem; color: #cfc6bc; }
    .c2c-nego__actions { margin-top: .75rem; }
    .c2c-nego__verdict {
        margin-top: .85rem;
        padding: .65rem .8rem;
        border-radius: 8px;
        font-size: .78rem;
        line-height: 1.45;
        border: 1px solid var(--c2c-border);
        background: rgba(255,255,255,.04);
        color: var(--c2c-muted);
    }
    .c2c-nego__verdict.is-actual {
        border-color: rgba(34, 160, 107, .45);
        background: rgba(34, 160, 107, .1);
        color: #9fdfbf;
    }
    .c2c-nego__verdict.is-modelled {
        border-color: rgba(232, 197, 71, .4);
        background: rgba(232, 197, 71, .08);
        color: #e8d48a;
    }
    .c2c-nego__verdict-tag {
        display: inline-block;
        font-size: .6rem;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
        margin-bottom: .35rem;
        padding: .15rem .4rem;
        border-radius: 3px;
    }
    .c2c-nego__verdict.is-actual .c2c-nego__verdict-tag { background: rgba(34,160,107,.3); color: #b6efd0; }
    .c2c-nego__verdict.is-modelled .c2c-nego__verdict-tag { background: rgba(232,197,71,.25); color: #ffe9a8; }

/* --- 32: components/cost_to_close/product_list.blade.php --- */
.c2c-module { --c2c-bg: #f5f0ea; --c2c-dark: #1a1614; --c2c-accent: #e84a1a; --c2c-muted: #8a8178; --c2c-border: #ece6df; }
    .c2c-summary-bar { background: linear-gradient(135deg, #e84a1a 0%, #d63d12 100%); color: #fff; border-radius: 14px 14px 0 0; padding: 1.1rem 1.35rem; }
    .c2c-summary-bar__amount { font-size: 1.65rem; font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
    .c2c-summary-bar__sub { font-size: .88rem; opacity: .92; margin-top: .2rem; }
    .c2c-table-wrap { background: var(--c2c-bg); border: 1px solid var(--c2c-border); border-top: 0; border-radius: 0 0 14px 14px; padding: 1rem; }
    .c2c-table { --bs-table-bg: #fff; }
    .c2c-table thead th { background: #faf7f3; color: var(--c2c-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--c2c-border); vertical-align: middle; white-space: nowrap; }
    .c2c-table tbody td { vertical-align: middle; border-bottom: 1px solid #f1ece6; }
    .c2c-table tbody tr:hover { background: #fffdf9; }
    .c2c-product-cell { display: flex; align-items: center; gap: .75rem; min-width: 220px; }
    .c2c-product-cell__thumb { width: 48px; height: 48px; border-radius: 8px; background: #1a1614; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
    .c2c-product-cell__thumb img { width: 100%; height: 100%; object-fit: cover; }
    .c2c-product-cell__thumb i { color: #8a8178; font-size: 1.2rem; }
    .c2c-product-cell__name { font-weight: 700; color: var(--c2c-dark); text-decoration: none; }
    .c2c-product-cell__name:hover { color: var(--c2c-accent); }
    .c2c-product-cell__meta { font-size: .8rem; color: var(--c2c-muted); margin-top: .1rem; }
    .c2c-product-cell__origin { font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c2c-muted); }
    .c2c-uplift { font-size: 1.1rem; font-weight: 800; color: var(--c2c-dark); }
    .c2c-impact-bar { height: 5px; border-radius: 999px; background: #ece6df; margin-top: .35rem; max-width: 120px; }
    .c2c-impact-bar > span { display: block; height: 100%; border-radius: 999px; }
    .c2c-impact-value { font-size: 1.15rem; font-weight: 800; }
    .c2c-confidence { display: inline-block; font-size: .68rem; font-weight: 700; padding: .18rem .55rem; border-radius: 999px; white-space: nowrap; }
    .c2c-confidence--high { background: #e8f5e9; color: #1b5e20; }
    .c2c-confidence--medium { background: #fff4e5; color: #7a4b00; }
    .c2c-confidence--low { background: #f5f5f5; color: #666; }
    .c2c-actions { display: flex; gap: .35rem; flex-wrap: wrap; }
    .c2c-filter-card { background: #fff; border: 1px solid var(--c2c-border); border-radius: 14px; margin-bottom: 1rem; overflow: hidden; }
    .c2c-filter-card .factories-card-header { border-bottom: 1px solid var(--c2c-border); }
    .c2c-table-wrap .dataTables_wrapper .dataTables_filter input { border-radius: 8px; border: 1px solid var(--c2c-border); padding: .35rem .65rem; }
    .c2c-table-wrap .dataTables_wrapper .dataTables_length select { border-radius: 8px; border: 1px solid var(--c2c-border); padding: .2rem .5rem; }

/* --- 33: components/cost_to_close/product_show_uplift.blade.php --- */
.c2c-product-uplift {
        --c2c-bg: #1a1614;
        --c2c-surface: #2a2420;
        --c2c-accent: #e84a1a;
        --c2c-text: #f5f0ea;
        --c2c-muted: #a89f96;
        --c2c-border: #3d3530;
    }
    .c2c-product-uplift .c2c-panel-dark {
        background: var(--c2c-bg);
        color: var(--c2c-text);
        border-radius: 14px;
        overflow: hidden;
        border: 1px solid var(--c2c-border);
    }
    .c2c-product-uplift .c2c-panel-dark__section {
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--c2c-border);
    }
    .c2c-product-uplift .c2c-panel-dark__section:last-child {
        border-bottom: 0;
    }
    .c2c-product-uplift .c2c-panel-dark__section-title {
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--c2c-accent);
        margin-bottom: .65rem;
    }
    .c2c-product-uplift .c2c-uplift-metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--c2c-border);
    }
    @@media (max-width: 768px) {
        .c2c-product-uplift .c2c-uplift-metrics {
            grid-template-columns: 1fr;
        }
    }
    .c2c-product-uplift .c2c-nego__tile {
        background: var(--c2c-surface);
        border: 1px solid var(--c2c-border);
        border-radius: 10px;
        padding: .95rem 1rem;
    }
    .c2c-product-uplift .c2c-nego__tile-label {
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--c2c-muted);
        margin-bottom: .4rem;
    }
    .c2c-product-uplift .c2c-nego__tile-value {
        font-size: 1.45rem;
        font-weight: 700;
        color: #fff;
        line-height: 1.2;
    }
    .c2c-product-uplift .c2c-nego__tile-value.is-accent {
        color: var(--c2c-accent);
    }

/* --- 34: components/dpp/_missing_details_report.blade.php --- */
.missing-fields-container {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
    }
    .missing-row:hover {
        background-color: #fff3cd;
    }
    table.table tbody tr.missing-row td {
        vertical-align: middle;
    }
    .badge {
        color: #000;
    }

/* --- 35: components/factories/location_autocomplete_script.blade.php --- */
.pac-container {
        z-index: 10000 !important;
    }

/* --- 36: components/factory/review_info_cards.blade.php --- */
.fr-info-card {
        background: #fff;
        border: 1px solid rgba(15, 23, 42, 0.06);
        border-radius: 16px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.04);
        padding: 1.35rem 1.5rem 1.4rem;
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .fr-info-kicker {
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #8b93a1;
        margin-bottom: 0.85rem;
    }
    .fr-info-rows {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        color: #111827;
        font-size: 0.95rem;
        line-height: 1.45;
    }
    .fr-info-rows strong {
        font-weight: 700;
    }
    .fr-info-pill {
        display: inline-flex;
        align-items: center;
        margin-top: 0.85rem;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        background: #3b82f6;
        color: #fff;
        font-size: 0.78rem;
        font-weight: 600;
        line-height: 1.25;
        width: fit-content;
        max-width: 100%;
    }
    .fr-info-meta {
        margin-top: 0.45rem;
        font-size: 0.82rem;
        color: #8b93a1;
    }
    .fr-info-empty {
        color: #8b93a1;
        font-size: 0.95rem;
    }
    .fr-info-actions {
        margin-top: auto;
        padding-top: 1rem;
    }
    .fr-info-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.4rem 0.85rem;
        border-radius: 8px;
        border: 1px solid #e4573d;
        color: #e4573d;
        background: #fff;
        font-size: 0.875rem;
        font-weight: 600;
        text-decoration: none;
        transition: background 0.15s ease, color 0.15s ease;
    }
    .fr-info-btn:hover {
        background: #fff5f3;
        color: #c9432c;
        border-color: #c9432c;
    }
    .fr-info-note {
        margin-top: 1rem;
        padding-top: 0.9rem;
        border-top: 1px solid rgba(15, 23, 42, 0.08);
        font-size: 0.85rem;
        color: #6b7280;
    }

/* --- 37: components/factory/review_readiness_cards.blade.php --- */
.fr-readiness-stack { --fr-card-radius: 16px; }
    .fr-readiness-hero,
    .fr-section-metric {
        background: #fff;
        border: 1px solid rgba(15, 23, 42, 0.06);
        border-radius: var(--fr-card-radius);
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.04);
    }
    .fr-readiness-hero {
        padding: 1.35rem 1.5rem 1.45rem;
    }
    .fr-readiness-kicker {
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #8b93a1;
        margin-bottom: 0.55rem;
    }
    .fr-readiness-hero-grid {
        display: grid;
        grid-template-columns: minmax(7rem, auto) minmax(0, 1fr);
        gap: 1.25rem 2rem;
        align-items: center;
    }
    .fr-readiness-pct {
        font-size: clamp(2.6rem, 4vw, 3.4rem);
        font-weight: 700;
        line-height: 1;
        color: #111827;
        letter-spacing: -0.03em;
    }
    .fr-readiness-bar-wrap { min-width: 0; }
    .fr-readiness-bar {
        height: 12px;
        border-radius: 999px;
        background: #edf0f3;
        overflow: hidden;
    }
    .fr-readiness-bar-fill {
        height: 100%;
        border-radius: 999px;
        background: linear-gradient(90deg, #e4573d 0%, #f0a04b 38%, #e8c547 68%, #3caf6e 100%);
        transition: width 0.35s ease;
    }
    .fr-readiness-caption {
        margin-top: 0.55rem;
        font-size: 0.875rem;
        color: #8b93a1;
    }
    .fr-section-metric {
        display: block;
        padding: 1.15rem 1.2rem 1.2rem;
        height: 100%;
        text-decoration: none;
        color: inherit;
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }
    a.fr-section-metric:hover {
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(15, 23, 42, 0.05), 0 12px 28px rgba(15, 23, 42, 0.07);
        color: inherit;
    }
    .fr-section-title {
        font-size: 1rem;
        font-weight: 700;
        color: #111827;
        margin-bottom: 0.65rem;
    }
    .fr-section-pct {
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: -0.02em;
        margin-bottom: 0.85rem;
    }
    .fr-section-pill {
        display: inline-flex;
        align-items: center;
        max-width: 100%;
        padding: 0.35rem 0.7rem;
        border-radius: 999px;
        font-size: 0.78rem;
        font-weight: 600;
        line-height: 1.25;
    }
    @media (max-width: 767.98px) {
        .fr-readiness-hero-grid {
            grid-template-columns: 1fr;
            gap: 1rem;
        }
    }

/* --- 38: components/plc/duplicate-modal.blade.php --- */
#plcDuplicateModal .select2-container { width: 100% !important; }
    .select2-container--open { z-index: 2000; }

/* --- 39: components/products/orders-table-cell.blade.php --- */
.products-table__orders {
            min-width: 240px;
            max-width: 460px;
            font-size: 0.78rem;
            line-height: 1.45;
            color: var(--pt-dark);
        }

        .products-table__order-line {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 0.2rem 0.35rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .products-table__order-line + .products-table__order-line {
            margin-top: 0.25rem;
            padding-top: 0.25rem;
            border-top: 1px dashed rgba(0, 0, 0, 0.06);
        }

        .products-table__order-season {
            font-weight: 600;
            color: var(--pt-dark);
        }

        .products-table__order-sep {
            color: var(--pt-muted);
            opacity: 0.65;
        }

        .products-table__order-kv {
            display: inline-flex;
            align-items: baseline;
            gap: 0.2rem;
        }

        .products-table__order-label {
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: var(--pt-muted);
        }

        .products-table__order-value {
            font-weight: 500;
            color: var(--pt-dark);
        }

        .products-table__order-kv--po .products-table__order-value,
        .products-table__order-kv--qty .products-table__order-value {
            font-weight: 700;
            color: var(--pt-accent, #e84a1a);
        }

/* --- 40: components/samplings/journey_strip.blade.php --- */
.c2c-journey {
        background: #faf8f6;
        border: 1px solid #ece6df;
        border-radius: 14px;
        padding: 1.15rem 1.25rem 1.35rem;
        box-shadow: 0 4px 18px rgba(45, 36, 25, .05);
    }
    .c2c-journey__head {
        display: flex;
        align-items: center;
        gap: .55rem;
        flex-wrap: wrap;
        margin-bottom: 1rem;
    }
    .c2c-journey__title {
        margin: 0;
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 1.15rem;
        font-weight: 600;
        color: #2d2419;
        letter-spacing: .01em;
    }
    .c2c-journey__badge {
        font-size: .58rem;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
        background: #e84a1a;
        color: #fff;
        padding: .2rem .45rem;
        border-radius: 999px;
    }
    .c2c-journey__track {
        display: flex;
        align-items: stretch;
        gap: .55rem;
        overflow-x: auto;
        padding-bottom: .15rem;
    }
    .c2c-journey__arrow {
        flex: 0 0 auto;
        align-self: center;
        color: #a89f96;
        font-size: 1.15rem;
        font-weight: 600;
        line-height: 1;
        padding: 0 .1rem;
    }
    .c2c-journey__card {
        flex: 1 1 0;
        min-width: 11.5rem;
        background: #fff;
        border: 1px solid #e4ddd4;
        border-radius: 10px;
        padding: .85rem 1rem;
        box-shadow: 0 1px 3px rgba(45, 36, 25, .04);
    }
    .c2c-journey__card.is-pending {
        opacity: .55;
    }
    .c2c-journey__card-title {
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: #e84a1a;
        margin-bottom: .65rem;
    }
    .c2c-journey__rows {
        display: flex;
        flex-direction: column;
        gap: .35rem;
    }
    .c2c-journey__row {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: .75rem;
        font-size: .82rem;
    }
    .c2c-journey__label {
        color: #8a8178;
        font-weight: 500;
    }
    .c2c-journey__value {
        color: #2d2419;
        font-weight: 700;
        text-align: right;
    }
    @media (max-width: 900px) {
        .c2c-journey__track {
            flex-wrap: nowrap;
        }
    }

/* --- 41: components/samplings/suggested_smv_values.blade.php --- */
.suggested-smv-panel {
        background: #f8f9fb;
        overflow: hidden;
    }
    .suggested-smv-toggle {
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0.85rem 1rem;
        background: transparent !important;
        box-shadow: none !important;
    }
    .suggested-smv-toggle:hover,
    .suggested-smv-toggle:focus {
        background: rgba(0, 0, 0, 0.03) !important;
    }
    .suggested-smv-chevron {
        transition: transform 0.2s ease;
        vertical-align: middle;
    }
    .suggested-smv-toggle[aria-expanded="true"] .suggested-smv-chevron {
        transform: rotate(180deg);
    }
    .suggested-smv-toggle[aria-expanded="true"] .suggested-smv-label-show {
        display: none !important;
    }
    .suggested-smv-toggle[aria-expanded="true"] .suggested-smv-label-hide {
        display: inline !important;
    }
    .suggested-smv-table th,
    .suggested-smv-table td {
        white-space: nowrap;
    }
    .suggested-smv-table td:first-child,
    .suggested-smv-table td:last-child {
        white-space: normal;
        min-width: 12rem;
    }

/* --- 42: factory/dashboard.blade.php --- */
.fdash-tc-product-select + .select2-container .select2-selection--multiple { min-height: 38px; }
    #fdashDropModal .select2-container { z-index: 1060; width: 100% !important; }

/* --- 43: partial/knowledge_chatbot.blade.php --- */
.chain-chatbot-shell {
            position: fixed;
            right: 18px;
            bottom: 5%;
            z-index: 10060;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            pointer-events: none;
        }

        .chain-chatbot-launcher {
            width: 58px;
            height: 58px;
            border: 0;
            border-radius: 50%;
            background: linear-gradient(180deg, #C4336E 0%, #E84A1A 100%);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 14px 28px rgba(255, 163, 26, 0.32);
            cursor: pointer;
            pointer-events: auto;
            transition: transform 180ms ease, box-shadow 180ms ease;
        }

        .chain-chatbot-launcher:hover {
            transform: translateX(-2px);
            box-shadow: 0 22px 38px rgba(255, 163, 26, 0.42);
        }

        .chain-chatbot-launcher svg {
            width: 26px;
            height: 26px;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .chain-chatbot-launcher .is-close {
            display: none;
        }

        .chain-chatbot-launcher.is-open .is-open {
            display: none;
        }

        .chain-chatbot-launcher.is-open .is-close {
            display: block;
        }

        .chain-chatbot-panel {
            width: 300px;
            height: min(540px, calc(100vh - 110px));
            margin: 0 8px 12px auto;
            background: #fff;
            border-radius: 18px;
            box-shadow: 0 20px 44px rgba(20, 38, 77, 0.22);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(18px) scale(0.98);
            transform-origin: bottom right;
            transition: opacity 220ms ease, transform 220ms ease, visibility 220ms ease;
        }

        .chain-chatbot-panel.is-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0) scale(1);
        }

        .chain-chatbot-home,
        .chain-chatbot-chat {
            display: flex;
            flex: 1;
            min-height: 0;
            flex-direction: column;
        }

        .chain-chatbot-hidden {
            display: none;
        }

        .chain-chatbot-home-top {
            min-height: 170px;
            padding: 18px 18px 14px;
            background: linear-gradient(180deg, #C4336E 0%, #C4336E 100%);
            color: #fff;
            position: relative;
            overflow: hidden;
        }

        .chain-chatbot-home-top::before {
            content: "";
            position: absolute;
            inset: -10% -35% auto auto;
            width: 210px;
            height: 210px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 68%);
        }

        .chain-chatbot-home-top::after {
            content: "";
            position: absolute;
            left: -18%;
            bottom: -26%;
            width: 180px;
            height: 180px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 72%);
        }

        .chain-chatbot-avatar {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            background: linear-gradient(180deg, #ececec 0%, #d8d8d8 100%);
            position: relative;
            z-index: 1;
        }

        .chain-chatbot-brand-mark {
            width: 42px;
            height: 42px;
            border-radius: 12px;
            background: #f4f4f5;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 6px;
            position: relative;
            z-index: 1;
            box-shadow: 0 8px 18px rgba(71, 85, 105, 0.14);
        }

        .chain-chatbot-brand-mark img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
        }

        .chain-chatbot-avatar::before {
            content: "";
            position: absolute;
            top: 7px;
            left: 50%;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: #f6f6f6;
            transform: translateX(-50%);
        }

        .chain-chatbot-avatar::after {
            content: "";
            position: absolute;
            left: 50%;
            bottom: 6px;
            width: 22px;
            height: 12px;
            border-radius: 12px 12px 9px 9px;
            background: #f6f6f6;
            transform: translateX(-50%);
        }

        .chain-chatbot-hero-copy {
            position: absolute;
            left: 18px;
            right: 18px;
            bottom: 18px;
            z-index: 1;
        }

        .chain-chatbot-hero-copy h3 {
            margin: 0 0 6px;
            color: #fff;
            font-size: 22px;
            font-weight: 800;
            line-height: 1.1;
        }

        .chain-chatbot-hero-copy p {
            margin: 0;
            color: #fff;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.4;
        }

        .chain-chatbot-home-body {
            padding: 16px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            background: #fff;
        }

        .chain-chatbot-tip,
        .chain-chatbot-meta-card {
            border-radius: 16px;
            background: #fff8ea;
            border: 1px solid #f6ddb0;
            padding: 14px 16px;
            color: #674d1b;
        }

        .chain-chatbot-tip strong,
        .chain-chatbot-meta-card strong {
            display: block;
            margin-bottom: 4px;
            font-size: 14px;
            font-weight: 700;
        }

        .chain-chatbot-tip p,
        .chain-chatbot-meta-card p {
            margin: 0;
            font-size: 13px;
            line-height: 1.45;
        }

        .chain-chatbot-start {
            width: 100%;
            border: 0;
            border-radius: 14px;
            background: linear-gradient(180deg, #E84A1A 0%, #E84A1A 100%);
            color: #fff;
            padding: 14px 16px;
            font-size: 15px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: space-between;
            cursor: pointer;
            box-shadow: 0 12px 24px rgba(255, 163, 26, 0.2);
        }

        .chain-chatbot-start svg,
        .chain-chatbot-icon-btn svg,
        .chain-chatbot-send svg {
            width: 20px;
            height: 20px;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .chain-chatbot-tabs {
            margin-top: auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            border-top: 1px solid #e7edf5;
        }

        .chain-chatbot-tab {
            padding: 16px 10px 14px;
            border: 0;
            background: #fff;
            color: #6e7ea0;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 4px;
            font-size: 14px;
            cursor: pointer;
        }

        .chain-chatbot-tab.active {
            color: #E84A1A;
            font-weight: 700;
        }

        .chain-chatbot-tab svg {
            width: 22px;
            height: 22px;
            fill: currentColor;
        }

        .chain-chatbot-chatbar {
            padding: 14px;
            border-bottom: 1px solid #edf1f6;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .chain-chatbot-icon-btn {
            width: 40px;
            height: 40px;
            border: 0;
            border-radius: 12px;
            background: #f7f9fd;
            color: #7383a3;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }

        .chain-chatbot-title {
            display: flex;
            align-items: center;
            gap: 10px;
            flex: 1;
            min-width: 0;
        }

        .chain-chatbot-title strong {
            display: block;
            color: #111827;
            font-size: 16px;
            font-weight: 700;
        }

        .chain-chatbot-title span {
            display: block;
            color: #7a889f;
            font-size: 12px;
        }

        .chain-chatbot-messages {
            flex: 1;
            min-height: 0;
            overflow-y: auto;
            padding: 12px 14px 14px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            scrollbar-width: thin;
            scrollbar-color: #c7d7ee transparent;
        }

        .chain-chatbot-message {
            max-width: min(76%, 254px);
            padding: 12px 15px;
            border-radius: 16px;
            font-size: 14px;
            line-height: 1.45;
            white-space: pre-wrap;
            word-break: break-word;
            box-shadow: 0 10px 18px rgba(24, 38, 69, 0.08);
            animation: chain-chatbot-message-in 180ms ease;
        }

        .chain-chatbot-message.user {
            align-self: flex-end;
            background: linear-gradient(180deg, #E84A1A 0%, #E84A1A 100%);
            color: #fff;
            border-bottom-right-radius: 8px;
        }

        .chain-chatbot-message.assistant {
            align-self: flex-start;
            background: #f2f5fa;
            color: #1d2433;
            border-bottom-left-radius: 8px;
        }

        .chain-chatbot-message.is-loading {
            min-width: 86px;
        }

        .chain-chatbot-typing {
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .chain-chatbot-typing span {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #E84A1A;
            opacity: 0.4;
            animation: chain-chatbot-bounce 1.1s infinite ease-in-out;
        }

        .chain-chatbot-typing span:nth-child(2) {
            animation-delay: 0.15s;
        }

        .chain-chatbot-typing span:nth-child(3) {
            animation-delay: 0.3s;
        }

        .chain-chatbot-message-time {
            display: block;
            margin-top: 6px;
            font-size: 11px;
            opacity: 0.65;
        }

        .chain-chatbot-message-edit {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-top: 8px;
            border: 0;
            border-radius: 999px;
            padding: 5px 9px;
            background: rgba(255, 255, 255, 0.16);
            color: inherit;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
        }

        .chain-chatbot-option-card {
            width: 100%;
            border-radius: 14px;
            background: linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%);
            overflow: hidden;
            border: 1px solid #e6ebf3;
            padding: 0;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
        }

        .chain-chatbot-option-card h4 {
            margin: 0;
            padding: 16px 16px 12px;
            color: #111827;
            font-size: 15px;
            font-weight: 700;
        }

        .chain-chatbot-option {
            width: 100%;
            display: block;
            margin: 0;
            border: 0;
            border-top: 1px solid #cad5e4;
            border-radius: 0;
            background: #fff;
            color: #E84A1A;
            font-size: 13px;
            font-weight: 600;
            line-height: 1.4;
            padding: 14px 16px;
            text-align: center;
            cursor: pointer;
        }

        .chain-chatbot-option:hover {
            background: #f9fbff;
            color: #f08f00;
        }

        .chain-chatbot-sources {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 8px;
        }

        .chain-chatbot-source {
            padding: 5px 9px;
            border-radius: 999px;
            background: #fff4da;
            color: #7b5710;
            font-size: 11px;
            font-weight: 600;
        }

        .chain-chatbot-follow-up-wrap {
            align-self: flex-start;
            width: 100%;
            max-width: min(76%, 254px);
            margin: -4px 0 8px;
        }

        .chain-chatbot-follow-up-label {
            display: block;
            margin: 0 0 6px 2px;
            color: #8a96ad;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.02em;
            text-transform: uppercase;
        }

        .chain-chatbot-follow-up-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .chain-chatbot-follow-up {
            display: block;
            width: 100%;
            border: 1px solid #cad5e4;
            border-radius: 14px;
            background: #fff;
            color: #E84A1A;
            font-size: 13px;
            font-weight: 600;
            line-height: 1.4;
            padding: 12px 14px;
            text-align: left;
            cursor: pointer;
            white-space: normal;
            box-shadow: 0 8px 16px rgba(24, 38, 69, 0.06);
        }

        .chain-chatbot-follow-up:hover {
            background: #f9fbff;
            color: #c4336e;
        }

        .chain-chatbot-follow-up-wrap[hidden] {
            display: none;
        }

        .chain-chatbot-module-link-wrap {
            align-self: flex-start;
            width: 100%;
            max-width: min(76%, 254px);
            margin: -2px 0 8px;
        }

        .chain-chatbot-module-link {
            display: inline-block;
            color: #E84A1A;
            font-size: 13px;
            font-weight: 600;
            line-height: 1.4;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .chain-chatbot-module-link:hover {
            color: #c4336e;
        }

        .chain-chatbot-compose {
            padding: 10px 14px 12px;
            border-top: 1px solid #dde4ee;
            background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
        }

        .chain-chatbot-status {
            min-height: 18px;
            margin: 0 0 8px;
            color: #8a96ad;
            font-size: 12px;
        }

        .chain-chatbot-edit {
            display: none;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin: 0 0 8px;
            padding: 8px 10px;
            border-radius: 12px;
            background: #eef6ff;
            border: 1px solid #bfd8f6;
            color: #325b8c;
            font-size: 12px;
            font-weight: 600;
        }

        .chain-chatbot-edit.is-active {
            display: flex;
        }

        .chain-chatbot-edit-cancel {
            border: 0;
            background: transparent;
            color: #325b8c;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
        }

        .chain-chatbot-form {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .chain-chatbot-input {
            flex: 1;
            border: 0;
            padding: 8px 0;
            color: #23314f;
            font-size: 14px;
            background: transparent;
        }

        .chain-chatbot-input::placeholder {
            color: #8996b3;
        }

        .chain-chatbot-input:focus {
            outline: none;
        }

        .chain-chatbot-send {
            width: 32px;
            height: 32px;
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: #c6ccd9;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }

        .chain-chatbot-send.is-ready {
            color: #fff;
            background: linear-gradient(180deg, #E84A1A 0%, #E84A1A 100%);
            box-shadow: 0 10px 18px rgba(255, 163, 26, 0.26);
        }

        .chain-chatbot-empty {
            border-radius: 16px;
            background: #f8fafc;
            border: 1px dashed #d8e1ee;
            color: #6e7d97;
            padding: 14px 16px;
            font-size: 13px;
            line-height: 1.45;
        }

        .chain-chatbot-reset {
            border: 0;
            background: transparent;
            color: #7383a3;
            font-size: 12px;
            font-weight: 600;
            cursor: pointer;
            padding: 0;
        }

        @keyframes chain-chatbot-bounce {
            0%, 80%, 100% {
                transform: translateY(0);
                opacity: 0.35;
            }

            40% {
                transform: translateY(-4px);
                opacity: 1;
            }
        }

        @keyframes chain-chatbot-message-in {
            from {
                opacity: 0;
                transform: translateY(8px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media (max-width: 575px) {
            .chain-chatbot-shell {
                right: 12px;
            }

            .chain-chatbot-panel {
                width: 280px;
                height: min(480px, calc(100vh - 88px));
            }

            .chain-chatbot-home-top {
                min-height: 150px;
            }
        }

/* --- 44: super_admin/country_gpkg/index.blade.php --- */
#country_gpkg_country_name + .select2-container .select2-selection--single {
            min-height: 38px;
            border: 1px solid #ced4da;
            border-radius: 0.375rem;
        }


/* --- admin/emails/index.blade.php (+ auditor duplicate) --- */
.cke_notifications_area {
    display: none;
}

/* --- factory review periodic check (static) --- */
.fr-periodic { --fr-card-radius: 16px; }
    .fr-periodic-clock,
    .fr-periodic-card {
        background: #fff;
        border: 1px solid rgba(15, 23, 42, 0.06);
        border-radius: var(--fr-card-radius);
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.04);
    }
    .fr-periodic-clock {
        padding: 1.35rem 1.5rem 1.25rem;
        margin-bottom: 0.85rem;
    }
    .fr-periodic-kicker {
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #8b93a1;
        margin-bottom: 0.85rem;
    }
    .fr-clock-progress-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem 1rem;
        margin-bottom: 1.1rem;
    }
    .fr-clock-stage-text {
        font-size: 0.9rem;
        color: #374151;
    }
    .fr-clock-stage-text strong { color: #111827; }
    .fr-clock-stage-pct {
        font-size: 0.8rem;
        font-weight: 700;
        color: #1f7a4d;
        background: #e6f6ec;
        border-radius: 999px;
        padding: 0.28rem 0.65rem;
    }
    .fr-clock-track {
        position: relative;
        display: grid;

        align-items: start;
        gap: 0.35rem;
        padding: 0 0.25rem 0.35rem;
    }
    .fr-clock-rail {
        position: absolute;

        top: 2.55rem;
        height: 8px;
        border-radius: 999px;
        background: #ebe4d8;
        overflow: hidden;
        z-index: 0;
    }
    .fr-clock-rail-fill {
        height: 100%;
        border-radius: 999px;
        background: linear-gradient(90deg, #e67a3a 0%, #7cb342 100%);
        width: 0;
        transition: width 0.4s ease;
    }
    .fr-clock-node {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        min-width: 0;
    }
    .fr-clock-top,
    .fr-clock-bottom {
        font-size: 0.72rem;
        line-height: 1.25;
        color: #6b7280;
        max-width: 7.5rem;
    }
    .fr-clock-top { font-weight: 600; color: #374151; min-height: 1.1rem; }
    .fr-clock-bottom { margin-top: 0.55rem; min-height: 2.2rem; }
    .fr-clock-node.is-done .fr-clock-top { color: #111827; }
    .fr-clock-node.is-done .fr-clock-bottom { color: #1f7a4d; font-weight: 600; }
    .fr-clock-node.is-current .fr-clock-top { color: #1f7a4d; }
    .fr-clock-dot {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        margin-top: 0.55rem;
        border: 2px solid #c5c9d1;
        background: #fff;
        box-shadow: 0 0 0 4px #fff;
    }
    .fr-clock-dot.is-audit.reached { background: #e67a3a; border-color: #e67a3a; }
    .fr-clock-dot.is-self.reached { background: #6b7c93; border-color: #6b7c93; }
    .fr-clock-dot.is-audit.current { background: #7cb342; border-color: #7cb342; }
    .fr-clock-dot.is-self.current { background: #6b7c93; border-color: #6b7c93; }
    .fr-clock-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem 1.35rem;
        margin-top: 0.85rem;
        font-size: 0.8rem;
        color: #6b7280;
    }
    .fr-clock-legend-item {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
    }
    .fr-clock-legend-swatch {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        display: inline-block;
    }
    .fr-clock-legend-swatch.audit { background: #e67a3a; }
    .fr-clock-legend-swatch.self { background: #6b7c93; }
    .fr-clock-legend-swatch.progress {
        width: 16px;
        height: 8px;
        border-radius: 999px;
        background: linear-gradient(90deg, #e67a3a 0%, #7cb342 100%);
    }
    .fr-clock-empty {
        color: #8b93a1;
        font-size: 0.9rem;
        margin: 0;
    }
    .fr-periodic-card {
        padding: 1.15rem 1.25rem 1.05rem;
        height: 100%;
    }
    .fr-periodic-card-title {
        font-size: 1rem;
        font-weight: 700;
        color: #111827;
        margin-bottom: 0.65rem;
    }
    .fr-periodic-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 0.7rem 0;
        border-top: 1px solid rgba(15, 23, 42, 0.08);
        font-size: 0.92rem;
    }
    .fr-periodic-row:first-of-type { border-top: 0; padding-top: 0.15rem; }
    .fr-periodic-row-label { color: #111827; font-weight: 500; }
    .fr-periodic-row-value { color: #6b7280; text-align: right; }
    .fr-due-pill {
        display: inline-flex;
        align-items: center;
        padding: 0.3rem 0.65rem;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .fr-due-pill.overdue { background: #fde8e6; color: #b42318; }
    .fr-due-pill.due_soon { background: #f8ead7; color: #9a5a12; }
    .fr-due-pill.on_track { background: #e6f6ec; color: #1f7a4d; }
    .fr-due-pill.unknown { background: #eef0f3; color: #4b5563; }
    @media (max-width: 991.98px) {
        .fr-clock-track {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            row-gap: 1.25rem;
        }
        .fr-clock-rail { display: none; }
        .fr-clock-bottom { min-height: 0; }
    }
