/* Protocol Cards - 자동 추출 from index.html */

.saas-protocol-wrapper {
                                                position: relative;
                                                overflow: hidden;
                                                background: #fff;
                                                flex: 0 0 720px;
                                                height: 520px;
                                                border-radius: 40px;
                                                padding: 36px 44px;
                                                box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
                                                display: flex;
                                                flex-direction: column;
                                                justify-content: center;
                                                gap: 18px;
                                            }

                                            .saas-protocol-bg {
                                                position: absolute;
                                                top: 0;
                                                left: 0;
                                                width: 100%;
                                                height: 100%;
                                                background-size: cover;
                                                background-position: center;
                                                z-index: 0;
                                            }

                                            .saas-protocol-mask {
                                                position: absolute;
                                                top: 0;
                                                left: 0;
                                                width: 100%;
                                                height: 100%;
                                                background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.97) 50%, rgba(255, 255, 255, 0.55) 80%, rgba(255, 255, 255, 0) 100%);
                                                z-index: 1;
                                            }

                                            .saas-protocol-header {
                                                position: relative;
                                                z-index: 2;
                                            }

                                            .saas-protocol-header .tag {
                                                display: block;
                                                font-family: Pretendard, sans-serif;
                                                font-size: 12px;
                                                font-weight: 600;
                                                color: #6b7280;
                                                letter-spacing: -0.01em;
                                                margin-bottom: 7px;
                                            }

                                            .saas-protocol-header h3 {
                                                font-family: Pretendard, sans-serif;
                                                font-size: 21px;
                                                font-weight: 800;
                                                color: #111827;
                                                line-height: 1.4;
                                                letter-spacing: -0.03em;
                                                margin: 0;
                                                word-break: keep-all;
                                            }

                                            .saas-protocol-panel {
                                                position: relative;
                                                z-index: 2;
                                                background: #ffffff;
                                                border-radius: 14px;
                                                box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.04);
                                                overflow: hidden;
                                            }

                                            /* ── 화장실 카드: 2열 세제 표 ── */
                                            .detergent-table {
                                                display: grid;
                                                grid-template-columns: 1fr 1fr;
                                                width: 100%;
                                            }

                                            .detergent-th {
                                                padding: 10px 16px;
                                                background: #f8fafc;
                                                border-bottom: 1px solid #e5e7eb;
                                                font-size: 11px;
                                                font-weight: 700;
                                                color: #64748b;
                                                display: flex;
                                                align-items: center;
                                            }

                                            .detergent-th:first-child {
                                                border-right: 1px solid #e5e7eb;
                                            }

                                            .detergent-cell {
                                                padding: 16px 16px;
                                                background: #fff;
                                                border-bottom: 1px solid #f1f5f9;
                                                display: flex;
                                                align-items: center;
                                                gap: 14px;
                                            }

                                            .detergent-cell:nth-child(odd) {
                                                border-right: 1px solid #f1f5f9;
                                            }

                                            .detergent-cell.no-border {
                                                border-bottom: none;
                                            }

                                            .detergent-img {
                                                width: 48px;
                                                height: 56px;
                                                object-fit: contain;
                                                flex-shrink: 0;
                                                filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.10));
                                            }

                                            .detergent-name {
                                                font-size: 14px;
                                                font-weight: 800;
                                                color: #1e293b;
                                                letter-spacing: -0.02em;
                                                margin-bottom: 3px;
                                                display: block;
                                            }

                                            .detergent-zone {
                                                font-size: 12px;
                                                font-weight: 600;
                                                color: #3b82f6;
                                                letter-spacing: -0.01em;
                                                margin-bottom: 4px;
                                                display: block;
                                            }

                                            .detergent-desc {
                                                font-size: 11px;
                                                color: #94a3b8;
                                                letter-spacing: -0.01em;
                                                display: block;
                                                line-height: 1.45;
                                            }

                                            /* ── 바닥재 카드: 4열 병합 표 ── */
                                            .floor-table {
                                                display: grid;
                                                grid-template-columns: 20% 20% 28% 32%;
                                                grid-template-rows: auto 1fr 1fr;
                                                width: 100%;
                                            }

                                            .ftbl-th {
                                                padding: 10px 12px;
                                                background: #f8fafc;
                                                border-bottom: 1px solid #e5e7eb;
                                                border-right: 1px solid #e5e7eb;
                                                font-size: 11px;
                                                font-weight: 700;
                                                color: #64748b;
                                                display: flex;
                                                align-items: center;
                                            }

                                            .ftbl-th:last-child {
                                                border-right: none;
                                            }

                                            .ftbl-td {
                                                padding: 14px 12px;
                                                background: #fff;
                                                border-bottom: 1px solid #f1f5f9;
                                                border-right: 1px solid #f1f5f9;
                                                display: flex;
                                                flex-direction: column;
                                                justify-content: center;
                                            }

                                            .ftbl-td.no-right {
                                                border-right: none;
                                            }

                                            .ftbl-td.no-bottom {
                                                border-bottom: none;
                                            }

                                            .ftbl-td.product-cell {
                                                flex-direction: row;
                                                align-items: center;
                                                justify-content: flex-start;
                                                gap: 12px;
                                            }

                                            .ftbl-td.merged-rx {
                                                background: #f8fafc;
                                                justify-content: center;
                                                align-items: flex-start;
                                                border-right: 1px solid #e5e7eb;
                                            }

                                            .ftbl-product-img {
                                                width: 50px;
                                                height: 62px;
                                                object-fit: contain;
                                                flex-shrink: 0;
                                                filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.12));
                                            }

                                            .ftbl-val {
                                                font-size: 13px;
                                                font-weight: 700;
                                                color: #1e293b;
                                                margin-bottom: 2px;
                                                letter-spacing: -0.01em;
                                            }

                                            .ftbl-sub {
                                                font-size: 11px;
                                                color: #94a3b8;
                                            }

                                            .ftbl-rx-val {
                                                font-size: 12px;
                                                font-weight: 800;
                                                color: #2563eb;
                                                letter-spacing: -0.02em;
                                                line-height: 1.5;
                                                margin-bottom: 5px;
                                                word-break: keep-all;
                                            }

                                            .ftbl-rx-sub {
                                                font-size: 11px;
                                                color: #94a3b8;
                                                line-height: 1.4;
                                                word-break: keep-all;
                                            }

                                            .ftbl-pname {
                                                font-size: 13px;
                                                font-weight: 800;
                                                color: #1e293b;
                                                letter-spacing: -0.02em;
                                                margin-bottom: 3px;
                                                display: block;
                                            }

                                            .ftbl-pdesc {
                                                font-size: 11px;
                                                color: #94a3b8;
                                                line-height: 1.4;
                                                display: block;
                                            }

                                            @media (max-width: 768px) {
                                                .saas-protocol-wrapper {
                                                    flex: 0 0 calc(100vw - 40px);
                                                    height: 480px;
                                                    border-radius: 20px;
                                                    padding: 22px 20px;
                                                    gap: 12px;
                                                }

                                                .saas-protocol-mask {
                                                    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.97) 40%, rgba(255, 255, 255, 0.7) 100%);
                                                }

                                                .saas-protocol-header .tag {
                                                    font-size: 11px;
                                                    margin-bottom: 4px;
                                                }

                                                .saas-protocol-header h3 {
                                                    font-size: 15px;
                                                }

                                                .detergent-th {
                                                    padding: 8px 10px;
                                                    font-size: 10px;
                                                }

                                                .detergent-cell {
                                                    padding: 11px 10px;
                                                    gap: 8px;
                                                }

                                                .detergent-img {
                                                    width: 34px;
                                                    height: 40px;
                                                }

                                                .detergent-name {
                                                    font-size: 12px;
                                                }

                                                .detergent-zone {
                                                    font-size: 10px;
                                                    margin-bottom: 2px;
                                                }

                                                .detergent-desc {
                                                    font-size: 10px;
                                                }

                                                .ftbl-th {
                                                    padding: 7px 8px;
                                                    font-size: 9px;
                                                }

                                                .ftbl-td {
                                                    padding: 10px 8px;
                                                }

                                                .ftbl-val {
                                                    font-size: 11px;
                                                }

                                                .ftbl-sub {
                                                    font-size: 9px;
                                                }

                                                .ftbl-rx-val {
                                                    font-size: 10px;
                                                }

                                                .ftbl-rx-sub {
                                                    font-size: 9px;
                                                }

                                                .ftbl-product-img {
                                                    width: 30px;
                                                    height: 36px;
                                                }

                                                .ftbl-pname {
                                                    font-size: 11px;
                                                }

                                                .ftbl-pdesc {
                                                    font-size: 9px;
                                                }

                                                .ftbl-td.product-cell {
                                                    gap: 6px;
                                                }
                                            }

