/* Kulina Admin Panel Custom Stylesheet */
:root {
    --kulina-primary: #D84315;     /* Accessible Darker Orange */
    --kulina-accent: #F57C00;      /* Darker Light Orange */
    --kulina-gold: #B28900;        /* Darker accessible Gold */
    --kulina-cream: #FAF7F2;       /* Cream Background */
    --kulina-white: #FFFFFF;
    --kulina-text-dark: #111827;   /* Extremely crisp slate-black for primary text */
    --kulina-text-medium: #374151; /* Dark Gray for labels & headers */
    --kulina-text-muted: #4B5563;  /* Accessible medium gray for descriptions & helpers */
    --kulina-placeholder: #6B7280; /* Visible placeholders */
    --kulina-border-color: #D1D5DB;/* Clear border gray */
    --kulina-green-soft: #E8F5E9;  /* Success Background */
    --kulina-green-dark: #1B5E20;  /* High contrast Success Text */
    --kulina-red-soft: #FFEBEE;    /* Error Background */
    --kulina-red-dark: #B71C1C;    /* High contrast Error Text */
}

/* Global Font and Colors */
body {
    font-family: 'Outfit', 'Inter', sans-serif !important;
    background-color: var(--kulina-cream) !important;
    color: var(--kulina-text-dark) !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600;
}

/* Navbar overrides */
nav.cyan, nav {
    background: linear-gradient(135deg, var(--kulina-primary) 0%, #FFA000 100%) !important;
    box-shadow: 0 4px 12px rgba(255, 94, 0, 0.15) !important;
}

/* Sidebar Overrides */
#left-sidebar-nav {
    background-color: var(--kulina-white) !important;
}

aside#left-sidebar-nav {
    border-right: 1px solid #E5E7EB;
}

ul.side-nav.fixed {
    background-color: var(--kulina-white) !important;
    border-right: 1px solid rgba(0,0,0,0.05);
}

/* Sidebar User Details Header */
.user-details.cyan.darken-2 {
    background: var(--kulina-cream) !important;
    padding: 24px 0 16px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.user-details img {
    border: 3px solid var(--kulina-primary);
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0,0,0,0.08);
}

/* Sidebar Links */
ul.side-nav li a {
    color: var(--kulina-text-dark) !important;
    font-weight: 500;
    font-size: 14px;
    padding: 0 24px !important;
    height: 48px;
    line-height: 48px;
    display: flex;
    align-items: center;
    border-radius: 8px;
    margin: 4px 8px;
    transition: all 0.3s ease;
}

ul.side-nav li a i {
    color: var(--kulina-text-muted) !important;
    margin-right: 16px;
    font-size: 1.4rem;
}

ul.side-nav li a:hover {
    background-color: rgba(255, 94, 0, 0.05) !important;
    color: var(--kulina-primary) !important;
}

ul.side-nav li a:hover i {
    color: var(--kulina-primary) !important;
}

/* Active sidebar item */
ul.side-nav li.active-link a,
ul.side-nav li a.active {
    background-color: var(--kulina-primary) !important;
    color: var(--kulina-white) !important;
}

ul.side-nav li.active-link a i,
ul.side-nav li a.active i {
    color: var(--kulina-white) !important;
}

/* Cards & Layout */
.card-panel, .card {
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(0,0,0,0.02);
    background-color: var(--kulina-white) !important;
}
.card {
    overflow: hidden;
}
.card-panel {
    overflow: visible !important;
}

/* Breadcrumbs overrides */
#breadcrumbs-wrapper {
    background-color: var(--kulina-white) !important;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding: 15px 0 !important;
}

.breadcrumbs-title {
    color: var(--kulina-text-dark) !important;
    font-size: 1.8rem;
    margin: 0 !important;
}

.breadcrumb:before {
    color: var(--kulina-text-muted) !important;
}

.breadcrumb, .breadcrumb a, .breadcrumb.active {
    color: var(--kulina-text-muted) !important;
    font-size: 13px;
}

.breadcrumb a:hover {
    color: var(--kulina-primary) !important;
}

/* Forms & Inputs Styling */
.input-field label {
    color: var(--kulina-text-muted) !important;
}

.input-field input[type=text]:focus + label,
.input-field input[type=password]:focus + label,
.input-field textarea:focus + label {
    color: var(--kulina-primary) !important;
}

.input-field input[type=text]:focus,
.input-field input[type=password]:focus,
.input-field textarea:focus {
    border-bottom: 2px solid var(--kulina-primary) !important;
    box-shadow: 0 1px 0 0 var(--kulina-primary) !important;
}

/* Rounded Buttons */
.btn, .btn-large, .btn-flat {
    border-radius: 24px !important;
    text-transform: none !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(255, 94, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}

.btn.cyan, .btn.indigo, .btn.blue, .btn:not(.btn-flat) {
    background-color: var(--kulina-primary) !important;
    color: var(--kulina-white) !important;
}

.btn.cyan:hover, .btn.indigo:hover, .btn.blue:hover, .btn:not(.btn-flat):hover {
    background-color: #e05300 !important;
    box-shadow: 0 6px 16px rgba(255, 94, 0, 0.2) !important;
}

.btn-flat {
    box-shadow: none !important;
    color: var(--kulina-text-dark) !important;
}

.btn-flat:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Tables styling */
table.bordered {
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background-color: transparent !important;
}

table.bordered tr {
    background-color: var(--kulina-white) !important;
    border: none !important;
}

table.bordered td, table.bordered th {
    padding: 12px 16px !important;
    border: none !important;
}

table.bordered th {
    font-weight: 600 !important;
    color: var(--kulina-text-muted) !important;
    text-transform: uppercase;
    font-size: 12px;
}

table.bordered tbody tr {
    box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important;
    border-radius: 12px !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

table.bordered tbody tr:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
}

table.bordered tbody tr td:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

table.bordered tbody tr td:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

/* Custom stats badges on Dashboard */
.stat-card {
    border-radius: 16px !important;
    border: 1px solid rgba(0,0,0,0.03);
    transition: all 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.06) !important;
}

.stat-card .card-content {
    padding: 24px !important;
}

.stat-card-title {
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px !important;
    font-weight: 600;
}

/* Success/Error Alerts styling */
.card-panel.teal.lighten-2, .card-panel.green {
    background-color: var(--kulina-green-soft) !important;
    color: var(--kulina-green-dark) !important;
    border-left: 5px solid var(--kulina-green-dark) !important;
    padding: 16px !important;
    border-radius: 8px !important;
    font-weight: 500;
}

.card-panel.teal.lighten-2 span, .card-panel.green span {
    color: var(--kulina-green-dark) !important;
}

.card-panel.red.darken-1, .card-panel.red {
    background-color: var(--kulina-red-soft) !important;
    color: var(--kulina-red-dark) !important;
    border-left: 5px solid var(--kulina-red-dark) !important;
    padding: 16px !important;
    border-radius: 8px !important;
    font-weight: 500;
}

.card-panel.red.darken-1 span, .card-panel.red span {
    color: var(--kulina-red-dark) !important;
}

/* Material Select styles styling */
.select-wrapper input.select-dropdown {
    border-bottom: 1px solid rgba(0,0,0,0.12) !important;
    font-family: inherit;
}

.dropdown-content li > span {
    color: var(--kulina-primary) !important;
}

/* Login Page Styling */
body.cyan {
    background: linear-gradient(135deg, var(--kulina-cream) 0%, #FFFDF9 100%) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

#login-page {
    width: 400px;
    margin: 0 auto;
}

#login-page .card-panel {
    padding: 32px !important;
    border-radius: 24px !important;
    box-shadow: 0 10px 40px rgba(255, 94, 0, 0.08) !important;
    border: 1px solid rgba(255, 94, 0, 0.05);
}

.login-form-text {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--kulina-primary) !important;
    margin-top: 12px !important;
}

.login-form .prefix {
    color: var(--kulina-text-muted) !important;
}

.login-form .prefix.active {
    color: var(--kulina-primary) !important;
}

/* Switch & Checkbox accent coloring */
.switch label input[type=checkbox]:checked + .lever {
    background-color: var(--kulina-accent) !important;
}
.switch label input[type=checkbox]:checked + .lever:after {
    background-color: var(--kulina-primary) !important;
}
[type="checkbox"]:checked + label:before {
    border-right: 2px solid var(--kulina-primary) !important;
    border-bottom: 2px solid var(--kulina-primary) !important;
}

/* Smartphone Mockup Preview Styles */
.phone-mockup {
    border: 12px solid #333;
    border-radius: 36px;
    background-color: var(--kulina-white);
    box-shadow: 0 12px 36px rgba(0,0,0,0.15);
    overflow: hidden;
    max-width: 320px;
    margin: 0 auto;
    position: sticky;
    top: 20px;
}
.phone-header {
    background: linear-gradient(135deg, var(--kulina-primary) 0%, #FFA000 100%) !important;
    color: var(--kulina-white);
    padding: 12px 16px;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    position: relative;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.phone-screen {
    height: 480px;
    overflow-y: auto;
    padding: 16px;
    background-color: var(--kulina-white);
}
.phone-screen::-webkit-scrollbar {
    width: 4px;
}
.phone-screen::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.1);
    border-radius: 2px;
}
.phone-recipe-image {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 12px;
    background-color: #eee;
    margin-bottom: 12px;
    display: block;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.phone-recipe-category {
    background-color: rgba(255, 94, 0, 0.1);
    color: var(--kulina-primary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 6px;
}
.phone-recipe-title {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 12px 0;
    color: var(--kulina-text-dark);
    line-height: 1.3;
}
.phone-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 12px;
}
.phone-stat-chip {
    text-align: center;
    background: var(--kulina-cream);
    padding: 6px 2px;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 500;
    color: var(--kulina-text-dark);
}
.phone-stat-chip i {
    display: block;
    font-size: 13px;
    color: var(--kulina-primary);
    margin-bottom: 2px;
}
.phone-section-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--kulina-primary);
    margin: 16px 0 8px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-left: 3px solid var(--kulina-primary);
    padding-left: 6px;
}
.phone-content-text {
    font-size: 12px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 12px;
}
.phone-content-text ul, .phone-content-text ol {
    margin: 4px 0;
    padding-left: 16px;
}
.phone-content-text li {
    margin-bottom: 4px;
}
.error-message-field {
    color: var(--kulina-red-dark);
    font-size: 12px;
    margin-top: 4px;
    display: block;
    font-weight: 500;
}
.size-recommendation {
    font-size: 11px;
    color: var(--kulina-text-muted);
    margin-top: 4px;
    display: block;
}

/* WYSIWYG Editor Styles */
.wysiwyg-container {
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden;
    margin-top: 8px;
    background: #fff;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
}
.wysiwyg-toolbar {
    background: #f5f5f5;
    border-bottom: 1px solid #ddd;
    padding: 6px 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
.wysiwyg-btn {
    padding: 0 !important;
    margin: 0 !important;
    height: 32px !important;
    line-height: 32px !important;
    min-width: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.9rem !important;
    border-radius: 4px !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    color: #444 !important;
}
.wysiwyg-btn:hover {
    background: #e0e0e0 !important;
}
.wysiwyg-btn.active {
    background: #d5d5d5 !important;
    color: var(--kulina-primary) !important;
}
.wysiwyg-visual-view {
    min-height: 150px;
    padding: 12px 16px;
    outline: none;
    background: #fff;
    color: var(--kulina-text-dark);
    font-size: 14px;
    line-height: 1.5;
}
.wysiwyg-visual-view[placeholder]:empty:before {
    content: attr(placeholder);
    color: #999;
    font-style: italic;
}
.wysiwyg-source-view {
    display: none;
    background: #fdfdfd;
}
.wysiwyg-source-textarea {
    width: 100%;
    min-height: 150px;
    padding: 12px 16px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    border: none;
    outline: none;
    box-sizing: border-box;
    resize: vertical;
    margin: 0;
    color: #333;
}

/* Structured List Rows */
.structured-row {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fdfdfd;
    padding: 6px 8px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 4px;
    transition: background-color 0.2s ease;
}
.structured-row:hover {
    background: #f5f5f5;
}
.structured-row-label {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--kulina-primary);
    min-width: 50px;
    text-align: right;
}
.structured-row-input {
    flex-grow: 1;
    margin: 0 !important;
    height: 32px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    font-size: 0.9rem !important;
    box-shadow: none !important;
    background: #fff !important;
}
.structured-row-input:focus {
    border: 1px solid var(--kulina-primary) !important;
    box-shadow: 0 0 4px rgba(255, 94, 0, 0.2) !important;
}
.structured-row-actions {
    display: flex;
    gap: 2px;
}
.structured-row-btn {
    padding: 0 !important;
    margin: 0 !important;
    height: 28px !important;
    line-height: 28px !important;
    min-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    color: #666 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    border-radius: 4px !important;
}
.structured-row-btn:hover {
    background: #e0e0e0 !important;
    color: var(--kulina-primary) !important;
}

/* Quality Checklist */
.quality-checklist li i {
    transition: color 0.3s ease;
}

/* --- High Contrast & Legibility Overrides --- */

/* Text colors and typography scale overrides */
body {
    color: var(--kulina-text-dark) !important;
}

/* Specific text overrides for Materialize class collisions */
.grey-text, 
.grey-text.text-darken-2,
.grey-text.text-darken-1,
.grey-text.text-lighten-1,
span.grey-text {
    color: var(--kulina-text-muted) !important;
}

/* Card titles, values & comparison details */
.stat-card-title {
    color: var(--kulina-text-muted) !important;
}
.card-stats-number {
    color: var(--kulina-text-dark) !important;
}
.card-stats-compare, 
.card-stats-compare span {
    color: var(--kulina-text-muted) !important;
}

/* Quality widget values */
.stat-card .card-content h5 {
    color: var(--kulina-text-dark) !important;
}

/* Quality Rating Checklist Widget */
.quality-checklist li {
    color: var(--kulina-text-medium) !important;
    font-weight: 500 !important;
}
.progress {
    background-color: #E5E7EB !important;
}

/* Breadcrumb visibility */
.breadcrumbs-title {
    color: var(--kulina-text-dark) !important;
}
.breadcrumb:before, 
.breadcrumb, 
.breadcrumb a, 
.breadcrumb.active {
    color: var(--kulina-text-muted) !important;
}

/* Accessible Forms and Input Fields */
.input-field label, 
.input-field > label {
    color: var(--kulina-text-medium) !important;
    font-weight: 600 !important;
}
.input-field label.active, 
.input-field > label.active {
    color: var(--kulina-primary) !important;
}

/* Materialize Form Input elements */
input[type=text]:not(.browser-default),
input[type=password]:not(.browser-default),
input[type=email]:not(.browser-default),
input[type=number]:not(.browser-default),
textarea.materialize-textarea {
    color: var(--kulina-text-dark) !important;
    font-weight: 500 !important;
    border-bottom: 1px solid var(--kulina-border-color) !important;
}
input[type=text]:not(.browser-default):focus,
input[type=password]:not(.browser-default):focus,
input[type=email]:not(.browser-default):focus,
input[type=number]:not(.browser-default):focus,
textarea.materialize-textarea:focus {
    border-bottom: 2px solid var(--kulina-primary) !important;
    box-shadow: 0 1px 0 0 var(--kulina-primary) !important;
}

/* Placeholders contrast */
input[type=text]::placeholder,
input[type=password]::placeholder,
textarea::placeholder {
    color: var(--kulina-placeholder) !important;
    opacity: 1 !important;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: var(--kulina-placeholder) !important;
}

/* Readonly and disabled input visibility */
input[type=text]:disabled, 
input[type=text][readonly="readonly"],
input:disabled, 
input[readonly] {
    color: var(--kulina-text-muted) !important;
    border-bottom: 1px dashed var(--kulina-border-color) !important;
}

/* Dropdowns & Selects wrapper */
.select-wrapper input.select-dropdown {
    border-bottom: 1px solid var(--kulina-border-color) !important;
    color: var(--kulina-text-dark) !important;
    font-weight: 500 !important;
}
.select-wrapper span.caret {
    color: var(--kulina-text-medium) !important;
}
.dropdown-content li > span, 
.dropdown-content li > a {
    color: var(--kulina-text-dark) !important;
    font-weight: 500 !important;
}

/* Section titles inside add/edit cards */
.card-panel h5, 
.card h5 {
    color: var(--kulina-primary) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--kulina-border-color) !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
}

/* Form checkboxes and switches contrast */
[type="checkbox"]+label:before, 
[type="checkbox"]:not(.filled-in)+label:after {
    border: 2px solid var(--kulina-text-muted) !important;
}
.switch label {
    color: var(--kulina-text-medium) !important;
    font-weight: 500 !important;
}

/* WYSIWYG Editor Styles Contrast */
.wysiwyg-container {
    border: 1px solid var(--kulina-border-color) !important;
}
.wysiwyg-toolbar {
    background: #F3F4F6 !important;
    border-bottom: 1px solid var(--kulina-border-color) !important;
}
.wysiwyg-btn {
    color: var(--kulina-text-medium) !important;
}
.wysiwyg-btn:hover {
    background: #E5E7EB !important;
}
.wysiwyg-btn.active {
    background: #D1D5DB !important;
    color: var(--kulina-primary) !important;
}

/* Cancel / Reset Buttons Styling overrides */
.btn-flat.grey.lighten-3, 
.btn-flat.grey {
    background-color: #E5E7EB !important;
    color: var(--kulina-text-dark) !important;
    border: 1px solid var(--kulina-border-color) !important;
}
.btn-flat.grey.lighten-3:hover, 
.btn-flat.grey:hover {
    background-color: #D1D5DB !important;
}

/* Smartphone Mockup Contrast */
.phone-mockup {
    border: 12px solid #1F2937 !important;
}
.phone-recipe-title {
    color: var(--kulina-text-dark) !important;
}
.phone-recipe-category {
    background-color: rgba(230, 81, 0, 0.1) !important;
    color: var(--kulina-primary) !important;
}
.phone-stat-chip {
    background: #F3F4F6 !important;
    color: var(--kulina-text-medium) !important;
}
.phone-content-text {
    color: var(--kulina-text-dark) !important;
}
.phone-content-text li {
    color: var(--kulina-text-dark) !important;
}


/* --- Premium Recipe Cards --- */
.premium-recipe-card {
    display: flex;
    flex-direction: column;
    border-radius: 16px !important;
    overflow: hidden;
    height: calc(100% - 20px) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(0,0,0,0.02) !important;
    background-color: var(--kulina-white) !important;
    margin-bottom: 20px;
}
.premium-recipe-card .card-image-container {
    position: relative;
    height: 180px;
    overflow: hidden;
    background-color: #f5f5f5;
}
.premium-recipe-card .card-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.premium-recipe-card:hover .card-image-container img {
    transform: scale(1.05);
}
.premium-recipe-card .card-category-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background-color: var(--kulina-primary) !important;
    color: #ffffff !important;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    z-index: 2;
}
.premium-recipe-card .card-body-content {
    padding: 16px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.premium-recipe-card .recipe-card-title {
    color: var(--kulina-text-dark) !important;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 8px 0 !important;
    line-height: 1.3;
}
.premium-recipe-card .recipe-card-views {
    color: var(--kulina-text-muted) !important;
    font-size: 0.85rem;
    margin: 0 0 16px 0 !important;
    display: flex;
    align-items: center;
    gap: 4px;
}
.premium-recipe-card .card-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
}

/* Placeholder backgrounds */
.premium-recipe-card .card-image-container.placeholder-bg {
    background-color: var(--kulina-cream) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.premium-recipe-card .card-image-container.placeholder-bg img.recipe-placeholder-logo {
    width: 50% !important;
    height: auto !important;
    object-fit: contain !important;
    opacity: 0.65;
}

/* Sticky Preview for Desktop Views */
@media only screen and (min-width: 993px) {
    .sticky-preview-container {
        position: sticky;
        top: 20px;
        z-index: 10;
        margin-bottom: 20px;
    }
}

/* Pulse Highlight Animation */
@keyframes pulseGlow {
    0% { box-shadow: 0 0 0 0 rgba(230, 81, 0, 0.7); }
    70% { box-shadow: 0 0 0 15px rgba(230, 81, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(230, 81, 0, 0); }
}
.pulse-highlight {
    animation: pulseGlow 1.5s ease-in-out infinite;
    border: 3px solid var(--kulina-primary) !important;
}

/* --- Scoped Kulina Admin High Contrast Overrides --- */
.kulina-admin {
    font-family: 'Outfit', 'Inter', sans-serif !important;
}

/* Force highly readable Slate Black for all primary headers and titles */
.kulina-admin h1,
.kulina-admin h2,
.kulina-admin h3,
.kulina-admin h4,
.kulina-admin h5,
.kulina-admin h6 {
    color: #111827 !important; /* Rich Slate Black */
    opacity: 1 !important;
    font-weight: 700 !important;
}

.kulina-admin .card-title,
.kulina-admin .section-title,
.kulina-admin .settings-section-title,
.kulina-admin .premium-section-title {
    color: #D84315 !important; /* Compliant Kulina Deep Orange Heading */
    font-size: 17px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

.kulina-admin .compliance-title {
    color: #111827 !important; /* Rich Slate Black for compliance assessment/checklists */
    font-size: 17px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

/* Card titles use accessible orange color */
.kulina-admin .setting-card h6 {
    color: #D84315 !important; /* Kulina Accent Orange */
    font-size: 17px !important;
    font-weight: 700 !important;
}

/* Secondary helper texts and labels */
.kulina-admin .card-desc,
.kulina-admin p {
    color: #374151 !important; /* High contrast dark gray */
    opacity: 1 !important;
}

.kulina-admin .input-help {
    color: #4B5563 !important; /* Clear visible gray */
    opacity: 1 !important;
}

.kulina-admin label,
.kulina-admin .input-field label,
.kulina-admin .input-field > label {
    color: #111827 !important; /* High contrast black label */
    font-weight: 700 !important;
    font-size: 13.5px !important;
    opacity: 1 !important;
}

.kulina-admin .input-field label.active,
.kulina-admin .input-field > label.active {
    color: #D84315 !important;
}

/* Inputs styling */
.kulina-admin input {
    color: #111827 !important; /* Rich Slate Black body text */
    font-weight: 500 !important;
}

.kulina-admin input[type=text]:not(.browser-default),
.kulina-admin input[type=url]:not(.browser-default),
.kulina-admin input[type=email]:not(.browser-default),
.kulina-admin textarea.materialize-textarea {
    color: #111827 !important; /* Visible dark input text */
    font-weight: 500 !important;
    border-bottom: 1.5px solid #4B5563 !important; /* High contrast gray border */
}

.kulina-admin input[type=text]:not(.browser-default):focus,
.kulina-admin input[type=url]:not(.browser-default):focus,
.kulina-admin input[type=email]:not(.browser-default):focus,
.kulina-admin textarea.materialize-textarea:focus {
    border-bottom: 2px solid #D84315 !important;
    box-shadow: 0 1px 0 0 #D84315 !important;
}

/* Scoped Table styling */
.kulina-admin table th {
    background-color: #F3F4F6 !important;
    border: 1px solid #D1D5DB !important;
    padding: 12px 14px !important;
    color: #111827 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: none !important;
    opacity: 1 !important;
}

.kulina-admin table td {
    border: 1px solid #D1D5DB !important;
    padding: 12px 14px !important;
    color: #374151 !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    opacity: 1 !important;
}

.kulina-admin table.data-safety-table tr.sdk-group-header {
    background-color: #FAF7F2 !important;
}

.kulina-admin table.data-safety-table tr.sdk-group-header td {
    font-weight: 700 !important;
    color: #D84315 !important;
    font-size: 14px !important;
}

.kulina-admin .badge-yes {
    background-color: #E8F5E9 !important;
    color: #1B5E20 !important;
    border: 1.5px solid #A5D6A7 !important;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 11px;
    display: inline-block;
}

.kulina-admin .badge-no {
    background-color: #FFEBEE !important;
    color: #B71C1C !important;
    border: 1.5px solid #EF9A9A !important;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 11px;
    display: inline-block;
}

/* Visual Editor visual elements */
.kulina-admin .editor-tabs {
    display: flex;
    border-bottom: 2px solid #4B5563 !important;
    margin-bottom: 12px;
}

.kulina-admin .editor-tab {
    padding: 10px 20px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    border-bottom: 3px solid transparent;
    color: #374151 !important;
    opacity: 1 !important;
}

.kulina-admin .editor-tab.active-tab {
    border-bottom: 3px solid #D84315 !important;
    color: #D84315 !important;
}

.kulina-admin .editor-toolbar {
    background-color: #F3F4F6 !important;
    border: 2px solid #4B5563 !important;
    border-bottom: none !important;
    padding: 10px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.kulina-admin .editor-toolbar button {
    background-color: #ffffff !important;
    border: 1.5px solid #4B5563 !important;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 700 !important;
    color: #111827 !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.kulina-admin .editor-toolbar button:hover {
    background-color: #D84315 !important;
    color: #ffffff !important;
    border-color: #D84315 !important;
}

.kulina-admin #visual_editor_wrapper {
    border: 2px solid #4B5563 !important;
    border-top: none !important;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    background: #ffffff !important;
}

.kulina-admin #visual_editor_wrapper::-webkit-scrollbar {
    width: 8px;
}

.kulina-admin #visual_editor_wrapper::-webkit-scrollbar-track {
    background: #F3F4F6;
    border-radius: 4px;
}

.kulina-admin #visual_editor_wrapper::-webkit-scrollbar-thumb {
    background: #9CA3AF;
    border-radius: 4px;
    border: 2px solid #F3F4F6;
}

.kulina-admin #visual_editor_wrapper::-webkit-scrollbar-thumb:hover {
    background: #4B5563;
}

.kulina-admin #visual_editor_container {
    color: #111827 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.kulina-admin #visual_editor_container h1,
.kulina-admin #visual_editor_container h2,
.kulina-admin #visual_editor_container h3,
.kulina-admin #visual_editor_container h4,
.kulina-admin #visual_editor_container h5,
.kulina-admin #visual_editor_container h6 {
    color: #111827 !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}

.kulina-admin #visual_editor_container[placeholder]:empty:before {
    content: attr(placeholder);
    color: #4B5563 !important;
    font-style: italic;
}



