    
        :root {
            --epulse-font-primary: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
            --epulse-font-secondary: var(--epulse-font-primary); /* Same for this design */

            --epulse-color-primary: #3498db; /* Professional Blue */
            --epulse-color-primary-hover: #2980b9;
            --epulse-color-primary-rgb: 52, 152, 219;

            --epulse-color-secondary: #2ecc71; /* Vibrant Green for success/accent */
            --epulse-color-secondary-hover: #27ae60;

            --epulse-color-danger: #e74c3c; /* Clear Red for errors */
            --epulse-color-danger-hover: #c0392b;

            --epulse-color-warning: #f39c12; /* Soft Orange for warnings */
            --epulse-color-warning-hover: #e67e22;

            --epulse-color-text-primary: #34495e; /* Dark Slate Blue for text */
            --epulse-color-text-secondary: #7f8c8d; /* Medium Gray for secondary text */
            --epulse-color-text-on-primary: #ffffff;
            --epulse-color-text-on-dark: #ffffff;

            --epulse-color-background-page: #f4f6f8; /* Very Light Gray for page background */
            --epulse-color-background-light: #ffffff; /* White for cards, inputs */
            --epulse-color-background-medium: #ecf0f1; /* Light Gray for input borders, dividers */
            --epulse-color-background-dark: #e1e6e9;


            --epulse-border-radius-small: 4px;
            --epulse-border-radius-medium: 8px;
            --epulse-border-radius-large: 20px; /* Standard for cards */
            --epulse-border-radius-pill: 50px; /* For pill buttons */

            --epulse-shadow-small: 0 2px 4px rgba(0, 0, 0, 0.05);
            --epulse-shadow-medium: 0 4px 10px rgba(0, 0, 0, 0.08);
            --epulse-shadow-large: 0 10px 20px rgba(0, 0, 0, 0.1);

            --epulse-transition-duration: 0.25s;
            --epulse-transition-timing: ease-in-out;

            --epulse-spacing-unit: 1rem; /* Approx 9.6px */
            --epulse-spacing-xs: calc(var(--epulse-spacing-unit) * 0.5);  /* ~4.8px */
            --epulse-spacing-sm: var(--epulse-spacing-unit);             /* ~9.6px */
            --epulse-spacing-md: calc(var(--epulse-spacing-unit) * 1.5); /* ~14.4px */
            --epulse-spacing-lg: calc(var(--epulse-spacing-unit) * 2);   /* ~19.2px */
            --epulse-spacing-xl: calc(var(--epulse-spacing-unit) * 2.5); /* ~24px */
            --epulse-spacing-xxl: calc(var(--epulse-spacing-unit) * 3);  /* ~28.8px */
        }

        html {
            font-size: 60%; /* 1rem = 16px * 0.6 = 9.6px */
            scroll-behavior: smooth;
        }

        body {
            font-family: var(--epulse-font-primary);
            background-color: var(--epulse-color-background-page);
            color: var(--epulse-color-text-primary);
            line-height: 1.6;
            font-size: 1.667rem; /* Approx 16px visual equivalent (16px / 9.6px = 1.667rem) */
            margin: 0;
            padding: 0;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }
        
        h1, h2, h3 {
            font-weight: 600;
            line-height: 1.2;
            color: var(--epulse-color-text-primary);
        }
        h1 { font-size: 3.333rem; /* ~32px */ margin-bottom: var(--epulse-spacing-lg); }
        h2 { font-size: 2.5rem;   /* ~24px */ margin-bottom: var(--epulse-spacing-md); }
        h3 { font-size: 2rem;     /* ~19px */ margin-bottom: var(--epulse-spacing-sm); }

        /* Utility Classes */
        .epulse-u-isHidden { display: none !important; }
        .epulse-u-marginBottom-md { margin-bottom: var(--epulse-spacing-md); }

        /* Page Wrapper */
        .epulse-PageWrapper {
            max-width: 1200px; /* Consistent with 125rem if 1rem=9.6px */
            margin: var(--epulse-spacing-xl) auto;
            padding: var(--epulse-spacing-xl);
            background-color: transparent; /* Page wrapper itself is transparent */
        }

        .epulse-PageHeader_Title {
            text-align: center;
            color: var(--epulse-color-text-primary);
            padding-bottom: var(--epulse-spacing-lg);
            margin-bottom: var(--epulse-spacing-xl);
            border-bottom: 1px solid var(--epulse-color-background-medium);
            letter-spacing: -0.5px;
        }

        /* Feedback Messages */
        .epulse-FeedbackContainer {
            margin-bottom: var(--epulse-spacing-lg);
        }
        .epulse-FeedbackMessage {
            display: flex;
            align-items: center;
            padding: var(--epulse-spacing-md) var(--epulse-spacing-lg);
            margin-bottom: var(--epulse-spacing-sm);
            border-radius: var(--epulse-border-radius-medium);
            font-size: 1.563rem; /* ~15px */
            position: relative;
            border: 1px solid transparent;
            box-shadow: var(--epulse-shadow-small);
        }
        .epulse-FeedbackMessage .fa-times {
            margin-left: auto;
            cursor: pointer;
            padding: var(--epulse-spacing-xs);
            font-size: 1.8rem;
        }
        .epulse-FeedbackMessage--success { background-color: #d4edda; color: #155724; border-color: #c3e6cb; }
        .epulse-FeedbackMessage--error { background-color: #f8d7da; color: #721c24; border-color: #f5c6cb; }
        .epulse-FeedbackMessage--info { background-color: #d1ecf1; color: #0c5460; border-color: #bee5eb; }
        .epulse-FeedbackMessage::before {
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            margin-right: var(--epulse-spacing-sm);
            font-size: 1.8rem;
        }
        .epulse-FeedbackMessage--success::before { content: "\f058"; }
        .epulse-FeedbackMessage--error::before { content: "\f071"; }
        .epulse-FeedbackMessage--info::before { content: "\f05a"; }

        /* Tab Navigation */
        .epulse-TabNavigation {
            display: flex;
            margin-bottom: var(--epulse-spacing-xl);
            background-color: var(--epulse-color-background-light);
            border-radius: var(--epulse-border-radius-pill); /* Pill shape for the container */
            padding: var(--epulse-spacing-xs);
            box-shadow: var(--epulse-shadow-medium);
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        .epulse-TabNavigation_Link {
            padding: var(--epulse-spacing-md) var(--epulse-spacing-lg);
            text-decoration: none;
            color: var(--epulse-color-text-secondary);
            font-weight: 500;
            border-radius: var(--epulse-border-radius-pill); /* Pill shape for individual links */
            transition: all var(--epulse-transition-duration) var(--epulse-transition-timing);
            font-size: 1.563rem; /* ~15px */
            text-align: center;
            flex-shrink: 0;
            margin: var(--epulse-spacing-xs);
        }
        .epulse-TabNavigation_Link--isActive {
            background-color: var(--epulse-color-primary);
            color: var(--epulse-color-text-on-primary);
            box-shadow: var(--epulse-shadow-small);
        }
        .epulse-TabNavigation_Link:not(.epulse-TabNavigation_Link--isActive):hover {
            background-color: var(--epulse-color-background-dark);
            color: var(--epulse-color-text-primary);
        }
        .epulse-TabNavigation_Link--isDisabled {
            color: var(--epulse-color-text-secondary);
            opacity: 0.6;
            cursor: not-allowed;
            background-color: transparent !important;
        }

        /* Tab Panel */
        .epulse-TabPanel { display: none; }
        .epulse-TabPanel--isActive { display: block; animation: epulseFadeIn 0.5s var(--epulse-transition-timing); }
        @keyframes epulseFadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Data Card */
        .epulse-DataCard {
            background: var(--epulse-color-background-light);
            border-radius: var(--epulse-border-radius-large);
            box-shadow: var(--epulse-shadow-medium);
            margin-bottom: var(--epulse-spacing-xl);
            overflow: hidden; /* For header background */
        }
        .epulse-DataCard_Header {
            background: linear-gradient(135deg, var(--epulse-color-primary) 0%, var(--epulse-color-primary-hover) 100%);
            padding: var(--epulse-spacing-lg) var(--epulse-spacing-xl);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .epulse-DataCard_Title {
            font-size: 2.083rem; /* ~20px */
            color: var(--epulse-color-text-on-primary);
            margin-bottom: 0;
            font-weight: 600;
        }
        .epulse-DataCard_Title i {
            margin-right: var(--epulse-spacing-sm);
            font-size: 2.2rem; /* ~21px */
        }
        .epulse-DataCard_Body {
            padding: var(--epulse-spacing-xl);
        }

        /* Section Title (if used outside card-header) */
        .epulse-SectionTitle {
            display: flex;
            align-items: center;
            font-size: 2.292rem; /* ~22px */
            margin-bottom: var(--epulse-spacing-lg);
            color: var(--epulse-color-primary);
            font-weight: 600;
        }
        .epulse-SectionTitle i {
            margin-right: var(--epulse-spacing-sm);
            font-size: 2.5rem; /* ~24px */
        }

        /* Grid System */
        .epulse-Grid {
            display: flex;
            flex-wrap: wrap;
            margin-left: calc(-1 * var(--epulse-spacing-md));
            margin-right: calc(-1 * var(--epulse-spacing-md));
        }
        .epulse-Grid_Column {
            padding-left: var(--epulse-spacing-md);
            padding-right: var(--epulse-spacing-md);
            width: 100%;
        }
        @media (min-width: 768px) {
            .epulse-Grid_Column--m-6 { flex: 0 0 50%; max-width: 50%; }
            .epulse-Grid_Column--m-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
        }

        /* Form Elements */
        .epulse-FormGroup { margin-bottom: var(--epulse-spacing-lg); }
        .epulse-FormLabel {
            display: block;
            margin-bottom: var(--epulse-spacing-sm);
            font-weight: 500;
            color: var(--epulse-color-text-primary);
            font-size: 1.563rem; /* ~15px */
        }
        .epulse-FormLabel--isRequired::after {
            content: ' *';
            color: var(--epulse-color-danger);
            font-weight: normal;
        }
        .epulse-InputField, .epulse-SelectField, .epulse-TextareaField {
            width: 100%;
            padding: var(--epulse-spacing-md) var(--epulse-spacing-lg);
            font-size: 1.667rem; /* ~16px */
            font-family: var(--epulse-font-secondary);
            border: 1px solid var(--epulse-color-background-medium);
            border-radius: var(--epulse-border-radius-medium);
            transition: border-color var(--epulse-transition-duration), box-shadow var(--epulse-transition-duration);
            background-color: var(--epulse-color-background-light);
            color: var(--epulse-color-text-primary);
        }
        .epulse-InputField:focus, .epulse-SelectField:focus, .epulse-TextareaField:focus {
            border-color: var(--epulse-color-primary);
            outline: none;
            box-shadow: 0 0 0 3px rgba(var(--epulse-color-primary-rgb), 0.25);
        }
        .epulse-TextareaField { min-height: 120px; resize: vertical; }
        .epulse-SelectField {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2334495e'%3E%3Cpath d='M8 11.293l-4.646-4.647a.5.5 0 0 1 .708-.708L8 9.879l4.938-4.938a.5.5 0 0 1 .708.708L8 11.293z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right var(--epulse-spacing-lg) center;
            background-size: 1.6rem 1.6rem; /* ~16px */
            padding-right: var(--epulse-spacing-xl);
        }
        input::placeholder, textarea::placeholder {
            color: var(--epulse-color-text-secondary);
            opacity: 0.8;
            font-size: 1.563rem; /* ~15px */
        }
        .epulse-FieldCaption { display: block; margin-top: var(--epulse-spacing-sm); font-size: 1.354rem; /* ~13px */ color: var(--epulse-color-text-secondary); }

        /* Text Editor */
        .epulse-TextEditor_Toolbar {
            background-color: var(--epulse-color-background-medium);
            padding: var(--epulse-spacing-sm);
            border-radius: var(--epulse-border-radius-medium) var(--epulse-border-radius-medium) 0 0;
            border: 1px solid var(--epulse-color-background-dark);
            border-bottom: none;
        }
        .epulse-TextEditor_ToolbarButton {
            background: none; border: none;
            color: var(--epulse-color-text-primary);
            padding: var(--epulse-spacing-xs) var(--epulse-spacing-sm);
            margin-right: var(--epulse-spacing-xs);
            cursor: pointer;
            border-radius: var(--epulse-border-radius-small);
            transition: background-color var(--epulse-transition-duration);
        }
        .epulse-TextEditor_ToolbarButton:hover { background-color: var(--epulse-color-background-dark); }
        .epulse-TextEditor_ToolbarButton i { font-size: 1.5rem; /* ~14.5px */ }
        .epulse-TextEditor_ContentArea {
            border: 1px solid var(--epulse-color-background-dark);
            min-height: 150px;
            padding: var(--epulse-spacing-md);
            border-radius: 0 0 var(--epulse-border-radius-medium) var(--epulse-border-radius-medium);
            background-color: var(--epulse-color-background-light);
            overflow-y: auto;
            line-height: 1.5; /* Ensure good readability in editor */
        }
         .epulse-TextEditor_ContentArea:focus {
            outline: none;
            border-color: var(--epulse-color-primary);
            box-shadow: 0 0 0 3px rgba(var(--epulse-color-primary-rgb), 0.1);
        }

        /* Buttons */
        .epulse-Button {
            display: inline-block;
            font-family: var(--epulse-font-primary);
            font-weight: 500;
            text-align: center; white-space: nowrap; vertical-align: middle; user-select: none;
            border: 1px solid transparent;
            padding: var(--epulse-spacing-md) var(--epulse-spacing-xl); /* Adjusted for pill */
            font-size: 1.563rem; /* ~15px */
            line-height: 1.5;
            border-radius: var(--epulse-border-radius-pill);
            transition: all var(--epulse-transition-duration) var(--epulse-transition-timing);
            cursor: pointer; margin: var(--epulse-spacing-xs); text-decoration: none;
            box-shadow: var(--epulse-shadow-small);
        }
        .epulse-Button:hover { transform: translateY(-2px); box-shadow: var(--epulse-shadow-medium); }
        .epulse-Button:active { transform: translateY(0px); box-shadow: var(--epulse-shadow-small); }

        .epulse-Button--primary { color: var(--epulse-color-text-on-primary); background-color: var(--epulse-color-primary); border-color: var(--epulse-color-primary); }
        .epulse-Button--primary:hover { background-color: var(--epulse-color-primary-hover); border-color: var(--epulse-color-primary-hover); }
        .epulse-Button--secondary { color: var(--epulse-color-text-primary); background-color: var(--epulse-color-background-dark); border-color: var(--epulse-color-background-dark); }
        .epulse-Button--secondary:hover { background-color: #ced4da; border-color: #ced4da; } /* Slightly darker gray */
        .epulse-Button--danger { color: var(--epulse-color-text-on-primary); background-color: var(--epulse-color-danger); border-color: var(--epulse-color-danger); }
        .epulse-Button--danger:hover { background-color: var(--epulse-color-danger-hover); border-color: var(--epulse-color-danger-hover); }
        .epulse-Button--success { color: var(--epulse-color-text-on-primary); background-color: var(--epulse-color-secondary); border-color: var(--epulse-color-secondary); }
        .epulse-Button--success:hover { background-color: var(--epulse-color-secondary-hover); border-color: var(--epulse-color-secondary-hover); }
        .epulse-Button--small { padding: var(--epulse-spacing-sm) var(--epulse-spacing-lg); font-size: 1.354rem; /* ~13px */ }

        /* Image Uploader */
        .epulse-ImageUploader_Grid { display: flex; flex-wrap: wrap; gap: var(--epulse-spacing-lg); margin-bottom: var(--epulse-spacing-lg); }
        .epulse-ImageUploader_Box {
            position: relative;
            width: calc(33.333% - var(--epulse-spacing-md)); /* Adjust for gap */
            aspect-ratio: 1 / 1;
            border: 2px dashed var(--epulse-color-background-dark);
            border-radius: var(--epulse-border-radius-large); /* 20px */
            display: flex; flex-direction: column; align-items: center; justify-content: center;
            cursor: pointer; overflow: hidden;
            transition: all var(--epulse-transition-duration) var(--epulse-transition-timing);
            background-color: var(--epulse-color-background-light);
        }
        @media (max-width: 992px) { .epulse-ImageUploader_Box { width: calc(50% - var(--epulse-spacing-sm)); } }
        @media (max-width: 767px) { .epulse-ImageUploader_Box { width: 100%; height: 280px; } }

        .epulse-ImageUploader_Box:hover {
            border-color: var(--epulse-color-primary);
            background-color: #fdfdff; /* Slightly off-white on hover */
        }
        .epulse-ImageUploader_Prompt {
            display: flex; flex-direction: column; align-items: center; text-align: center;
            cursor: pointer; z-index: 1; padding: var(--epulse-spacing-md); color: var(--epulse-color-text-secondary);
        }
        .epulse-ImageUploader_IconPlaceholder { font-size: 4rem; /* ~38px */ color: var(--epulse-color-primary); margin-bottom: var(--epulse-spacing-sm); }
        .epulse-ImageUploader_PromptText { color: var(--epulse-color-text-secondary); font-size: 1.458rem; /* ~14px */ }
        .epulse-ImageUploader_NativeInput { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; cursor: pointer; z-index: 2; }
        .epulse-ImageUploader_PreviewImage {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            object-fit: cover; z-index: 0; border-radius: var(--epulse-border-radius-large); /* Match parent */
            transition: transform var(--epulse-transition-duration) var(--epulse-transition-timing);
        }
        .epulse-ImageUploader_Box:hover .epulse-ImageUploader_PreviewImage { transform: scale(1.03); }
        .epulse-ImageUploader_Overlay {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(var(--epulse-color-primary-rgb), 0.7);
            display: flex; align-items: center; justify-content: center;
            opacity: 0; transition: opacity var(--epulse-transition-duration) var(--epulse-transition-timing); z-index: 1;
            border-radius: var(--epulse-border-radius-large); /* Match parent */
        }
        .epulse-ImageUploader_Box:hover .epulse-ImageUploader_Overlay { opacity: 1; }
        .epulse-ImageUploader_OverlayText { color: var(--epulse-color-text-on-primary); font-weight: 500; font-size: 1.5rem; }
        .epulse-ImageUploader_ErrorMessage { color: var(--epulse-color-danger); font-size: 1.25rem; /* ~12px */ margin-top: var(--epulse-spacing-sm); display: none; text-align: left; width: 100%; }

        /* Switch Control (Toggle) */
        .epulse-SwitchControl { display: flex; align-items: center; margin-bottom: var(--epulse-spacing-lg); }
        .epulse-SwitchControl_Element { position: relative; display: inline-block; width: 50px; height: 26px; margin-right: var(--epulse-spacing-md); }
        .epulse-SwitchControl_Element input { opacity: 0; width: 0; height: 0; }
        .epulse-SwitchControl_SliderVisual {
            position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
            background-color: var(--epulse-color-background-dark); transition: var(--epulse-transition-duration); border-radius: var(--epulse-border-radius-pill);
        }
        .epulse-SwitchControl_SliderVisual:before {
            position: absolute; content: ""; height: 18px; width: 18px;
            left: 4px; bottom: 4px; background-color: white;
            transition: var(--epulse-transition-duration); border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,0.2);
        }
        .epulse-SwitchControl_Element input:checked + .epulse-SwitchControl_SliderVisual { background-color: var(--epulse-color-secondary); }
        .epulse-SwitchControl_Element input:checked + .epulse-SwitchControl_SliderVisual:before { transform: translateX(24px); }
        .epulse-SwitchControl_Label { font-size: 1.563rem; /* ~15px */ }

        /* Dynamic Fields */
        .epulse-DynamicFields_AddButton {
            display: inline-flex; align-items: center;
            background-color: var(--epulse-color-background-light); border: 1px solid var(--epulse-color-background-dark);
            color: var(--epulse-color-text-primary); padding: var(--epulse-spacing-sm) var(--epulse-spacing-md); 
            border-radius: var(--epulse-border-radius-pill);
            font-size: 1.458rem; /* ~14px */ cursor: pointer; transition: all var(--epulse-transition-duration);
            margin-right: var(--epulse-spacing-sm); margin-bottom: var(--epulse-spacing-md);
        }
        .epulse-DynamicFields_AddButton i { margin-right: var(--epulse-spacing-xs); }
        .epulse-DynamicFields_AddButton:hover { background-color: var(--epulse-color-primary); color: var(--epulse-color-text-on-primary); border-color: var(--epulse-color-primary); }

        .epulse-DynamicFields_Section {
            margin-top: var(--epulse-spacing-lg); padding: var(--epulse-spacing-lg); background-color: #fbfcfe; /* Slightly different bg for section */
            border: 1px solid var(--epulse-color-background-dark); border-radius: var(--epulse-border-radius-medium);
        }
        .epulse-DynamicFields_Title {
            font-size: 1.771rem; /* ~17px */ color: var(--epulse-color-text-primary); margin-top: 0; margin-bottom: var(--epulse-spacing-md);
            font-weight: 600; border-bottom: 1px solid var(--epulse-color-background-medium); padding-bottom: var(--epulse-spacing-sm);
        }
        .epulse-DynamicFields_Row { display: flex; align-items: center; margin-bottom: var(--epulse-spacing-md); gap: var(--epulse-spacing-sm); }
        .epulse-DynamicFields_Row .epulse-InputField { flex: 1; } /* Ensure inputs take available space */
        .epulse-DynamicFields_RemoveButton {
            background-color: #fde8e8; color: var(--epulse-color-danger); border: 1px solid #fbc8c8;
            width: 38px; height: 38px; border-radius: 50%; display: flex;
            align-items: center; justify-content: center; cursor: pointer;
            transition: all var(--epulse-transition-duration); flex-shrink: 0; font-size: 1.4rem;
        }
        .epulse-DynamicFields_RemoveButton:hover { background-color: var(--epulse-color-danger); color: white; border-color: var(--epulse-color-danger); }

        /* Form Progress */
        .epulse-FormProgress { width: 100%; background-color: var(--epulse-color-background-medium); border-radius: var(--epulse-border-radius-pill); margin-bottom: var(--epulse-spacing-xs); overflow: hidden; height:10px; }
        .epulse-FormProgress_Indicator { height: 10px; background-color: var(--epulse-color-secondary); border-radius: var(--epulse-border-radius-pill); width: 0%; transition: width 0.4s ease; }
        .epulse-FormProgress_Label { text-align: right; font-size: 1.354rem; /* ~13px */ color: var(--epulse-color-text-secondary); margin-bottom: var(--epulse-spacing-xl); }

        /* Form Actions Bar */
        .epulse-FormActionsBar { display: flex; justify-content: flex-end; margin-top: var(--epulse-spacing-xl); padding-top: var(--epulse-spacing-lg); border-top: 1px solid var(--epulse-color-background-medium); }

        /* Publish Status Toggle (Segmented Control) */
        .epulse-PublishStatusToggle {
            display: flex; background: var(--epulse-color-background-medium);
            border-radius: var(--epulse-border-radius-pill); padding: var(--epulse-spacing-xs);
            width: fit-content; position: relative; margin-bottom: var(--epulse-spacing-lg);
            border: 1px solid var(--epulse-color-background-dark);
        }
        .epulse-PublishStatusToggle_Option {
            flex: 1; text-align: center; padding: var(--epulse-spacing-sm) var(--epulse-spacing-lg); cursor: pointer;
            z-index: 1; font-weight: 500; transition: color var(--epulse-transition-duration) ease;
            font-size: 1.458rem; /* ~14px */ color: var(--epulse-color-text-secondary);
            border-radius: var(--epulse-border-radius-pill);
        }
        .epulse-PublishStatusToggle input[type="radio"] { display: none; }
        .epulse-PublishStatusToggle_ActiveIndicator {
            position: absolute; height: calc(100% - (var(--epulse-spacing-xs) * 2)); 
            width: calc(50% - var(--epulse-spacing-xs)); /* Adjust for padding in parent */
            top: var(--epulse-spacing-xs); left: var(--epulse-spacing-xs);
            background: var(--epulse-color-background-light); border-radius: var(--epulse-border-radius-pill);
            box-shadow: var(--epulse-shadow-small);
            transition: transform var(--epulse-transition-duration) cubic-bezier(0.68, -0.55, 0.27, 1.55);
        }
        .epulse-PublishStatusToggle input[id$="Published"]:checked ~ .epulse-PublishStatusToggle_ActiveIndicator { transform: translateX(0%); }
        .epulse-PublishStatusToggle input[id$="Draft"]:checked ~ .epulse-PublishStatusToggle_ActiveIndicator { transform: translateX(100%); } /* Needs adjustment if text length varies significantly */

        .epulse-PublishStatusToggle input[id$="Published"]:checked + .epulse-PublishStatusToggle_Option { color: var(--epulse-color-secondary); }
        .epulse-PublishStatusToggle input[id$="Draft"]:checked + .epulse-PublishStatusToggle_Option { color: var(--epulse-color-warning); }

        /* Product Listing (View Products) */
        .epulse-ProductListing_Grid {
            display: grid;
            gap: var(--epulse-spacing-xl);
            /* Mobile-first: 1 column */
            grid-template-columns: 1fr;
        }
        /* Tablet: 2 columns */
        @media (min-width: 600px) {
            .epulse-ProductListing_Grid { grid-template-columns: repeat(2, 1fr); }
        }
        /* Desktop: 3 columns */
        @media (min-width: 992px) {
            .epulse-ProductListing_Grid { grid-template-columns: repeat(3, 1fr); }
        }
         @media (min-width: 1200px) { /* Optional: 4 columns for very wide screens */
            .epulse-ProductListing_Grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
        }

        .epulse-ProductCard_Item {
            background-color: var(--epulse-color-background-light);
            border-radius: var(--epulse-border-radius-large); /* 20px */
            box-shadow: var(--epulse-shadow-medium);
            padding: var(--epulse-spacing-lg);
            display: flex;
            flex-direction: column;
            transition: box-shadow var(--epulse-transition-duration) ease, transform var(--epulse-transition-duration) ease;
        }
        .epulse-ProductCard_Item:hover {
            box-shadow: var(--epulse-shadow-large);
            transform: translateY(-3px);
        }
        .epulse-ProductCard_ImageContainer {
            width: 100%;
            aspect-ratio: 1 / 1; /* Square images */
            margin-bottom: var(--epulse-spacing-md);
            overflow: hidden;
            border-radius: var(--epulse-border-radius-medium); /* Slightly smaller radius for image itself */
        }
        .epulse-ProductCard_Image {
            width: 100%; height: 100%; object-fit: cover;
        }
        .epulse-ProductCard_Name {
            font-size: 1.875rem; /* ~18px */ font-weight: 600; color: var(--epulse-color-text-primary);
            margin-bottom: var(--epulse-spacing-xs);
            line-height: 1.3;
        }
        .epulse-ProductCard_Category, .epulse-ProductCard_Price, .epulse-ProductCard_Stock {
            font-size: 1.458rem; /* ~14px */ color: var(--epulse-color-text-secondary);
            margin-bottom: var(--epulse-spacing-xs);
        }
        .epulse-ProductCard_Price {
            font-weight: 500;
            color: var(--epulse-color-primary); /* Highlight price */
        }
        .epulse-ProductCard_Status {
            margin-top: var(--epulse-spacing-sm); margin-bottom: var(--epulse-spacing-md);
        }
        .epulse-ProductCard_StatusBadge {
            padding: var(--epulse-spacing-xs) var(--epulse-spacing-sm);
            border-radius: var(--epulse-border-radius-pill);
            font-size: 1.25rem; /* ~12px */
            font-weight: 600; /* Bold for badge */
            display: inline-block;
            text-transform: capitalize;
        }
        .epulse-ProductCard_StatusBadge--published { background-color: var(--epulse-color-secondary); color: var(--epulse-color-text-on-primary); }
        .epulse-ProductCard_StatusBadge--draft { background-color: var(--epulse-color-warning); color: var(--epulse-color-text-on-primary); }

        .epulse-ProductCard_Actions {
            margin-top: auto; /* Pushes actions to the bottom */
            padding-top: var(--epulse-spacing-md);
            border-top: 1px solid var(--epulse-color-background-medium);
            text-align: right;
        }
        .epulse-ProductCard_Actions .epulse-Button { margin-left: var(--epulse-spacing-sm); }


        .epulse-ProductListing_EmptyState { 
            text-align: center; padding: var(--epulse-spacing-xxl) var(--epulse-spacing-lg); 
            color: var(--epulse-color-text-secondary); font-size: 1.8rem; /* ~17px */
            background-color: var(--epulse-color-background-light);
            border-radius: var(--epulse-border-radius-large);
            box-shadow: var(--epulse-shadow-medium);
        }
        .epulse-ProductListing_EmptyState a { color: var(--epulse-color-primary); text-decoration: none; font-weight: 500; }
        .epulse-ProductListing_EmptyState a:hover { text-decoration: underline; }

        /* Info Panel (for update tab placeholder) */
        .epulse-InfoPanel {
            background-color: #e7f3fe; /* Light blue */
            border-left: 5px solid var(--epulse-color-primary);
            padding: var(--epulse-spacing-xl);
            margin-bottom: var(--epulse-spacing-xl);
            border-radius: var(--epulse-border-radius-medium);
            font-size: 1.667rem; /* ~16px */
            display: flex; align-items: center; color: #0c5460; /* Darker blue text */
            box-shadow: var(--epulse-shadow-small);
        }
        .epulse-InfoPanel i { margin-right: var(--epulse-spacing-md); color: var(--epulse-color-primary); font-size: 2.5rem; /* ~24px */ }

        /* Specific form group adjustments */
        .epulse-FormGroup_SuffixInput { /* For new category input */
            margin-top: var(--epulse-spacing-sm);
            padding: var(--epulse-spacing-sm);
            background-color: var(--epulse-color-background-page); /* Match page bg */
            border-radius: var(--epulse-border-radius-medium);
        }
        .epulse-FormSection--conditional { /* For limited offer fields */
            background-color: var(--epulse-color-background-page); /* Match page bg */
            padding: var(--epulse-spacing-lg);
            border-radius: var(--epulse-border-radius-medium);
            margin-top: var(--epulse-spacing-md);
            border: 1px solid var(--epulse-color-background-dark);
        }
        .epulse-FormSection--conditional .epulse-FormGroup { margin-bottom: 0; } /* Reset if inside */
        .epulse-FormSection--conditional .epulse-Grid_Column:last-child .epulse-FormGroup { margin-bottom: 0; } /* For rows within */
        

    
