@import 'tailwindcss';

@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../vendor/livewire/livewire/dist/**/*.js';
@source '../../storage/framework/views/*.php';
@source '../**/*.blade.php';
@source '../**/*.js';

/* Inter + OpenType (cv02/cv03/cv04/cv11) — faces in public/css/inter-local.css */
@theme {
    --font-sans: "InterVariable", "Inter", ui-sans-serif, system-ui, sans-serif;
    --font-display: "InterVariable", "Inter", ui-sans-serif, system-ui, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

    --color-ink: #0b192c;
    --color-ink-soft: #334155;
    --color-muted: #64748b;
    --color-paper: #eef2f7;
    --color-panel: #ffffff;
    --color-line: #d7e0ea;
    --color-brand: #10b981;
    --color-brand-deep: #059669;
    --color-brand-soft: #ecfdf5;
    --color-accent: #ff9933;
    --color-accent-soft: #fff4e6;
    --color-saffron: #ff9933;
    --color-india-green: #138808;
    --color-chip: #c1121f;
    --color-chip-soft: #fff1f2;
    --color-strong: #138808;
    --color-partial: #b45309;
    --color-unlikely: #64748b;
    --color-hero-1: #020617;
    --color-hero-2: #0b1f3a;
    --color-hero-3: #123a6b;
}

@layer base {
    html {
        scroll-behavior: smooth;
        font-feature-settings: "cv02" 1, "cv03" 1, "cv04" 1, "cv11" 1;
    }

    h1, h2, h3, h4, h5, h6 {
        font-family: var(--font-display);
    }

    body {
        @apply bg-paper text-ink antialiased;
        min-height: 100vh;
    }
}

@layer components {
    .container-vedica {
        @apply mx-auto w-full max-w-6xl px-4 sm:px-6 lg:px-8;
    }

    .btn-primary {
        @apply inline-flex items-center justify-center rounded-lg px-5 py-3 text-sm font-semibold text-white shadow-sm transition;
        background: #f87171;
    }

    .btn-primary:hover {
        background: #ef4444;
    }

    .btn-secondary {
        @apply inline-flex items-center justify-center rounded-lg bg-ink px-5 py-3 text-sm font-semibold text-white shadow-sm transition hover:bg-ink/90;
    }

    .btn-icon-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        border-radius: 0.5rem;
        padding: 0.55rem 0.85rem;
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.2;
        color: #fff;
        text-decoration: none;
        box-shadow: 0 4px 10px rgba(11, 25, 44, 0.12);
        transition: transform 0.15s ease, filter 0.15s ease, opacity 0.15s ease;
        border: 0;
        cursor: pointer;
    }

    .btn-icon-action:hover {
        transform: translateY(-1px);
        filter: brightness(1.05);
    }

    .btn-icon-action__icon {
        display: inline-grid;
        place-items: center;
        width: 0.95rem;
        height: 0.95rem;
        flex-shrink: 0;
    }

    .btn-icon-action__icon svg {
        width: 100%;
        height: 100%;
    }

    .btn-icon-action.is-active {
        outline: 2px solid #ff9933;
        outline-offset: 1px;
    }

    .scheme-tool-row {
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem;
    }

    .action-ribbon__icon {
        display: inline-grid;
        place-items: center;
        width: 1rem;
        height: 1rem;
        margin-right: 0.4rem;
        flex-shrink: 0;
    }

    .action-ribbon__icon svg {
        width: 100%;
        height: 100%;
    }

    .btn-teal {
        @apply inline-flex items-center justify-center rounded-lg bg-brand px-5 py-3 text-sm font-semibold text-white shadow-sm transition hover:bg-brand-deep;
    }

    /* Scheme header action ribbons (side fold, hang past card edge) */
    .scheme-hero-card {
        overflow: visible;
    }

    .scheme-hero-card:hover {
        transform: none;
    }

    .scheme-hero-actions {
        display: flex;
        width: 100%;
        flex-direction: column;
        justify-content: center;
        gap: 0.85rem;
    }

    @media (min-width: 1024px) {
        .scheme-hero-actions {
            width: 15rem;
            flex-shrink: 0;
            align-self: stretch;
            justify-content: center;
            margin-right: -2rem;
        }
    }

    .action-ribbon {
        --ribbon: #f87171;
        --ribbon-fold: #e11d48;
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        padding: 0.75rem 1.35rem 0.75rem 1.55rem;
        color: #fff;
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.25;
        text-align: center;
        text-decoration: none;
        background: var(--ribbon);
        clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 50%);
        filter: drop-shadow(0 8px 14px rgba(11, 25, 44, 0.16));
        transition: transform 0.15s ease, filter 0.15s ease;
    }

    .action-ribbon::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: -8px;
        border-top: 8px solid var(--ribbon-fold);
        border-right: 10px solid transparent;
        pointer-events: none;
    }

    .action-ribbon:hover {
        transform: translateX(3px);
        filter: drop-shadow(0 10px 18px rgba(11, 25, 44, 0.22));
    }

    .action-ribbon--primary {
        --ribbon: #f87171;
        --ribbon-fold: #e11d48;
    }

    .action-ribbon--secondary {
        --ribbon: #0b192c;
        --ribbon-fold: #020617;
    }

    .action-ribbon--teal {
        --ribbon: #10b981;
        --ribbon-fold: #047857;
    }

    .card {
        @apply rounded-2xl border border-line bg-panel;
        box-shadow: 0 2px 10px rgba(11, 25, 44, 0.05);
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    .card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 28px rgba(11, 25, 44, 0.1);
    }

    .badge-strong {
        @apply inline-flex items-center bg-brand px-2.5 py-1 text-xs font-semibold uppercase tracking-wide text-white;
        border-radius: 1px;
    }

    .badge-partial {
        @apply inline-flex items-center bg-ink px-2.5 py-1 text-xs font-semibold uppercase tracking-wide text-white;
        border-radius: 1px;
    }

    .badge-unlikely {
        @apply inline-flex items-center px-2.5 py-1 text-xs font-semibold uppercase tracking-wide text-white;
        border-radius: 1px;
        background: #f87171;
    }

    .field {
        @apply w-full rounded-xl border border-line bg-white px-3.5 py-3 text-sm text-ink outline-none transition focus:border-brand focus:ring-2 focus:ring-brand/15;
    }

    .label {
        @apply mb-1.5 block text-sm font-medium text-ink-soft;
    }

    /* Header blends with hero palette */
    .site-header {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        background:
            linear-gradient(145deg, var(--color-hero-1) 0%, var(--color-hero-2) 55%, #0d2a52 100%);
        backdrop-filter: blur(10px);
    }

    /* Shared dark + grid pattern (hero / how panel) */
    .portal-surface {
        position: relative;
        overflow: hidden;
        color: #fff;
        background:
            radial-gradient(ellipse 80% 60% at 15% 20%, rgba(255, 153, 51, 0.16), transparent 55%),
            radial-gradient(ellipse 70% 50% at 90% 10%, rgba(16, 185, 129, 0.12), transparent 50%),
            radial-gradient(ellipse 60% 70% at 70% 90%, rgba(37, 99, 235, 0.28), transparent 55%),
            linear-gradient(145deg, var(--color-hero-1) 0%, var(--color-hero-2) 48%, var(--color-hero-3) 100%);
    }

    .portal-surface::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image:
            linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
        background-size: 44px 44px;
        mask-image: radial-gradient(ellipse 75% 70% at 50% 40%, #000 20%, transparent 75%);
        pointer-events: none;
        border-radius: inherit;
        z-index: 0;
    }

    .portal-surface::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 20% 80%, rgba(255, 153, 51, 0.16), transparent 35%),
            radial-gradient(circle at 80% 60%, rgba(16, 185, 129, 0.1), transparent 40%);
        pointer-events: none;
        z-index: 0;
    }

    .portal-surface > * {
        position: relative;
        z-index: 1;
    }

    /* india.gov.in–style hero: CSS only (no photo) */
    .hero-portal {
        position: relative;
        overflow: visible;
        color: #fff;
        background:
            radial-gradient(ellipse 80% 60% at 15% 20%, rgba(255, 153, 51, 0.16), transparent 55%),
            radial-gradient(ellipse 70% 50% at 90% 10%, rgba(16, 185, 129, 0.12), transparent 50%),
            radial-gradient(ellipse 60% 70% at 70% 90%, rgba(37, 99, 235, 0.28), transparent 55%),
            linear-gradient(145deg, var(--color-hero-1) 0%, var(--color-hero-2) 48%, var(--color-hero-3) 100%);
    }

    .hero-portal::before {
        content: "";
        position: absolute;
        inset: 0;
        overflow: hidden;
        background-image:
            linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
        background-size: 44px 44px;
        mask-image: radial-gradient(ellipse 75% 70% at 50% 40%, #000 20%, transparent 75%);
        pointer-events: none;
        border-radius: inherit;
    }

    .hero-portal::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 20% 80%, rgba(255, 153, 51, 0.16), transparent 35%),
            radial-gradient(circle at 80% 60%, rgba(16, 185, 129, 0.1), transparent 40%);
        pointer-events: none;
    }

    .tricolor-rule {
        display: flex;
        width: min(220px, 55vw);
        height: 3px;
        margin-inline: auto;
        border-radius: 999px;
        overflow: hidden;
    }

    .tricolor-rule span:nth-child(1) { flex: 1; background: #ff9933; }
    .tricolor-rule span:nth-child(2) { flex: 1; background: #ffffff; }
    .tricolor-rule span:nth-child(3) { flex: 1; background: #138808; }

    .hero-search {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 0;
        width: 100%;
        max-width: 720px;
        margin-inline: auto;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
        overflow: hidden;
    }

    .hero-search-query {
        position: relative;
        display: flex;
        flex: 1 1 180px;
        min-width: 0;
        align-items: center;
    }

    .hero-search-icon {
        pointer-events: none;
        position: absolute;
        left: 0.85rem;
        top: 50%;
        transform: translateY(-50%);
        color: #64748b;
        display: grid;
        place-items: center;
    }

    .hero-search input,
    .hero-search select {
        border: 0;
        outline: none;
        background: transparent;
        color: #0b192c;
        font: inherit;
    }

    .hero-search input {
        width: 100%;
        min-width: 0;
        padding: 0.95rem 1rem 0.95rem 2.75rem;
    }

    .hero-search select {
        flex: 0 0 auto;
        padding: 0.95rem 1rem;
        border-left: 1px solid #e5e7eb;
        color: #475569;
        max-width: 160px;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.85rem center;
        padding-right: 2rem;
    }

    .hero-search button {
        flex: 0 0 auto;
        border: 0;
        background: #f87171;
        color: #fff;
        font-weight: 700;
        padding: 0.95rem 1.35rem;
        cursor: pointer;
    }

    .hero-search button:hover {
        background: #ef4444;
        color: #fff;
    }

    /* Mobile: compact 2-row search (query full width, category + button row) */
    @media (max-width: 639px) {
        .hero-search {
            display: grid;
            grid-template-columns: 1fr auto;
            grid-template-areas:
                "query query"
                "category action";
            border-radius: 10px;
        }

        .hero-search-query {
            grid-area: query;
            flex: none;
            width: 100%;
            border-bottom: 1px solid #e5e7eb;
        }

        .hero-search input {
            padding: 0.8rem 0.9rem 0.8rem 2.5rem;
            font-size: 0.95rem;
        }

        .hero-search-icon {
            left: 0.75rem;
        }

        .hero-search select {
            grid-area: category;
            width: 100%;
            max-width: none;
            border-left: 0;
            padding: 0.75rem 2rem 0.75rem 0.9rem;
            font-size: 0.875rem;
        }

        .hero-search button {
            grid-area: action;
            padding: 0.75rem 1.1rem;
            font-size: 0.875rem;
            white-space: nowrap;
        }
    }

    .trend-chip {
        display: inline-flex;
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.55);
        border-radius: 1px;
        padding: 0.35rem 0.85rem;
        font-size: 0.8rem;
        font-weight: 600;
        color: #fff;
        background: rgba(255, 255, 255, 0.08);
        transition: background 0.15s ease, border-color 0.15s ease;
    }

    .trend-chip:hover {
        background: rgba(255, 255, 255, 0.16);
        border-color: #fff;
    }

    .scheme-chip {
        @apply inline-flex items-center px-2.5 py-0.5 text-[11px] font-semibold;
        border-radius: 1px;
        background: var(--color-chip-soft);
        color: var(--color-chip);
    }

    .trust-dock {
        @apply relative z-20 w-full bg-white px-4 py-3 text-center text-[12px] leading-snug text-ink-soft shadow-[0_18px_50px_rgba(11,25,44,0.22)] sm:max-w-4xl sm:px-5 sm:py-3.5 sm:text-[13px];
        border: 1px solid var(--color-chip);
        border-radius: 0.5rem;
    }

    .trust-dock-lead {
        font-weight: 700;
        color: var(--color-chip);
    }

    .site-footer {
        color: rgba(255, 255, 255, 0.72);
        background-color: #07111f;
        background-image:
            linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
            radial-gradient(ellipse 70% 50% at 15% 0%, rgba(37, 99, 235, 0.18), transparent 55%),
            radial-gradient(ellipse 50% 40% at 90% 100%, rgba(19, 136, 8, 0.1), transparent 50%),
            linear-gradient(165deg, #07111f 0%, #0b192c 45%, #102844 100%);
        background-size: 36px 36px, 36px 36px, auto, auto, auto;
    }

    .facts-note {
        @apply mt-5 text-center text-xs font-medium tracking-wide text-muted sm:text-sm;
    }

    .hero-trending {
        position: relative;
        z-index: 25;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 1.25rem;
        margin-bottom: 1.25rem;
    }

    /* Fully inside hero — no mid-section bridge */
    .stats-dock {
        position: relative;
        z-index: 20;
        width: 100%;
        max-width: 56rem;
        margin-inline: auto;
        border: 1px solid var(--color-line);
        border-radius: 1rem;
        background: #fff;
        padding: 0.85rem 1rem;
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
    }

    .stats-dock-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem 0.75rem;
    }

    @media (min-width: 640px) {
        .hero-trending {
            margin-bottom: 1.5rem;
        }

        .stats-dock {
            padding: 1.15rem 1.75rem;
            box-shadow: 0 14px 40px rgba(0, 0, 0, 0.28);
        }

        .stats-dock-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.5rem;
        }
    }

    .snapshot-section {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    @media (min-width: 640px) {
        .snapshot-section {
            padding-top: 2.75rem;
        }
    }

    .stat-cell {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.55rem;
        padding: 0.25rem 0.15rem;
        min-width: 0;
    }

    @media (min-width: 640px) {
        .stat-cell {
            justify-content: center;
            gap: 0.65rem;
            padding: 0.35rem 0;
        }
    }

    .stat-icon-solid {
        flex-shrink: 0;
        background: none;
    }

    .stat-main {
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.1;
        color: var(--color-ink);
    }

    .stat-sub {
        margin-top: 0.15rem;
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--color-muted);
    }

    @media (min-width: 640px) {
        .stat-main {
            font-size: 1.05rem;
        }

        .stat-sub {
            font-size: 0.65rem;
            margin-top: 0.2rem;
        }
    }

    .kpi-card {
        border: 1px solid var(--color-line);
        border-radius: 1rem;
        padding: 1rem;
        box-shadow: 0 2px 10px rgba(11, 25, 44, 0.05);
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    .kpi-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 28px rgba(11, 25, 44, 0.1);
    }

    .kpi-label {
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--color-ink-soft);
    }

    .kpi-value {
        margin-top: 0.25rem;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.2;
        color: var(--color-ink);
    }

    /* Modern solid KPI fills — white text for contrast */
    .kpi-fill-1 { background: #f87171; }
    .kpi-fill-2 { background: #eab308; }
    .kpi-fill-3 { background: #a855f7; }
    .kpi-fill-4 { background: #0f172a; }
    .kpi-fill-5 { background: #f97316; }
    .kpi-fill-6 { background: #06b6d4; }

    .kpi-fill-1 .kpi-label,
    .kpi-fill-2 .kpi-label,
    .kpi-fill-3 .kpi-label,
    .kpi-fill-4 .kpi-label,
    .kpi-fill-5 .kpi-label,
    .kpi-fill-6 .kpi-label {
        color: rgba(255, 255, 255, 0.9);
    }

    .kpi-fill-1 .kpi-value,
    .kpi-fill-2 .kpi-value,
    .kpi-fill-3 .kpi-value,
    .kpi-fill-4 .kpi-value,
    .kpi-fill-5 .kpi-value,
    .kpi-fill-6 .kpi-value {
        color: #fff;
    }

    .ministry-card {
        @apply relative overflow-hidden border border-line bg-white p-5;
        border-radius: 8px !important;
        border-width: 1px;
        box-shadow: 0 2px 10px rgba(11, 25, 44, 0.05);
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    .ministry-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 28px rgba(11, 25, 44, 0.1);
    }

    .category-card {
        position: relative;
        display: block;
        overflow: hidden;
        background-color: #fff;
        border: 1px solid var(--color-line);
        border-radius: 8px !important;
        padding: 1.25rem 1.25rem 1.35rem;
        box-shadow: 0 2px 10px rgba(11, 25, 44, 0.05);
        transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    }

    .category-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 32px rgba(11, 25, 44, 0.12);
    }

    .category-card .category-icon {
        position: absolute;
        right: -0.35rem;
        bottom: -0.45rem;
        width: 4.75rem;
        height: 4.75rem;
        opacity: 1;
        pointer-events: none;
        filter: drop-shadow(0 8px 16px rgba(11, 25, 44, 0.12));
        transition: transform 0.2s ease;
    }

    .category-card:hover .category-icon {
        transform: scale(1.06) translate(-2px, -2px);
    }

    @media (min-width: 640px) {
        .category-card .category-icon {
            width: 5.5rem;
            height: 5.5rem;
            right: -0.2rem;
            bottom: -0.3rem;
        }
    }

    .cat-business { background: linear-gradient(145deg, #eff6ff 0%, #ffffff 55%); }
    .cat-startup { background: linear-gradient(145deg, #f5f3ff 0%, #ffffff 55%); }
    .cat-agriculture { background: linear-gradient(145deg, #f0fdfa 0%, #ffffff 55%); }
    .cat-education { background: linear-gradient(145deg, #eef2ff 0%, #ffffff 55%); }
    .cat-social { background: linear-gradient(145deg, #fdf2f8 0%, #ffffff 55%); }
    .cat-skill { background: linear-gradient(145deg, #fff7ed 0%, #ffffff 55%); }
    .cat-women { background: linear-gradient(145deg, #faf5ff 0%, #ffffff 55%); }
    .cat-health { background: linear-gradient(145deg, #fff1f2 0%, #ffffff 55%); }
    .cat-housing { background: linear-gradient(145deg, #f0f9ff 0%, #ffffff 55%); }

    .cat-business .category-icon { color: #2563eb; }
    .cat-startup .category-icon { color: #7c3aed; }
    .cat-agriculture .category-icon { color: #0d9488; }
    .cat-education .category-icon { color: #4f46e5; }
    .cat-social .category-icon { color: #db2777; }
    .cat-skill .category-icon { color: #ea580c; }
    .cat-women .category-icon { color: #9333ea; }
    .cat-health .category-icon { color: #e11d48; }
    .cat-housing .category-icon { color: #0284c7; }

    .cat-meta-business { color: #2563eb; }
    .cat-meta-startup { color: #7c3aed; }
    .cat-meta-agriculture { color: #0d9488; }
    .cat-meta-education { color: #4f46e5; }
    .cat-meta-social { color: #db2777; }
    .cat-meta-skill { color: #ea580c; }
    .cat-meta-women { color: #9333ea; }
    .cat-meta-health { color: #e11d48; }
    .cat-meta-housing { color: #0284c7; }

    .prose-vedica {
        @apply max-w-3xl text-sm leading-relaxed text-ink-soft sm:text-base;
    }

    .prose-vedica section + section {
        @apply mt-8;
    }

    .prose-vedica h2 {
        @apply text-xl font-bold tracking-tight text-ink;
    }

    .prose-vedica h3 {
        @apply mt-4 text-base font-semibold text-ink;
    }

    .prose-vedica p,
    .prose-vedica ul {
        @apply mt-3;
    }

    .prose-vedica ul {
        @apply list-disc space-y-2 pl-5;
    }

    .prose-vedica a:not(.btn-primary):not(.btn-secondary):not(.btn-teal):not(.action-ribbon) {
        @apply font-medium text-brand underline-offset-2 hover:underline;
    }

    .faq-item {
        @apply overflow-hidden rounded-2xl border border-line bg-white;
    }

    .faq-summary {
        @apply flex cursor-pointer list-none items-center justify-between gap-4 px-5 py-4 text-left text-sm font-semibold text-ink sm:text-base;
    }

    .faq-summary::-webkit-details-marker {
        display: none;
    }

    .faq-chevron {
        @apply grid h-7 w-7 shrink-0 place-items-center rounded-full bg-paper text-base font-bold text-brand;
    }

    .faq-item[open] .faq-chevron {
        @apply bg-brand text-white;
        content: "–";
    }

    .faq-body {
        @apply border-t border-line px-5 py-4 text-sm leading-relaxed text-muted;
    }

    .vedica-dock {
        position: fixed;
        right: 1rem;
        bottom: 1rem;
        z-index: 50;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .vedica-dock-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        border-radius: 999px;
        background: #0b192c;
        color: #fff;
        padding: 0.55rem 0.9rem;
        font-size: 0.75rem;
        font-weight: 600;
        box-shadow: 0 10px 24px rgba(11, 25, 44, 0.28);
        text-decoration: none;
    }

    .vedica-dock-count {
        display: inline-grid;
        place-items: center;
        min-width: 1.25rem;
        height: 1.25rem;
        border-radius: 999px;
        background: #ff9933;
        color: #0b192c;
        font-size: 0.7rem;
        font-weight: 700;
        padding: 0 0.3rem;
    }

    [data-vedica-save].is-active {
        background: #0b192c;
        color: #fff;
    }
}

@media print {
    body.printing-checklist * {
        visibility: hidden !important;
    }

    body.printing-checklist .print-checklist-target,
    body.printing-checklist .print-checklist-target * {
        visibility: visible !important;
    }

    body.printing-checklist .print-checklist-target {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff !important;
        color: #000 !important;
        border: none !important;
        box-shadow: none !important;
    }

    body.printing-checklist .print-checklist-target h2,
    body.printing-checklist .print-checklist-target p,
    body.printing-checklist .print-checklist-target li,
    body.printing-checklist .print-checklist-target span {
        color: #000 !important;
    }
}
