@font-face {
        font-family: 'Inter';
        font-style: normal;
        font-weight: 100 900;
        font-display: swap;
        src: url('/fonts/inter/InterVariable.woff2') format('woff2-variations');
    }
    html { -webkit-text-size-adjust: 100%; }
    @media (max-width: 1023.98px) {
        input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
        textarea,
        select,
        [contenteditable="true"] {
            font-size: 16px !important;
        }
    }
    .fi-main .gap-y-8.auto-cols-fr { row-gap: 0.75rem !important; }
    .fi-body .fi-header-heading { font-size: 1.0625rem; line-height: 1.45rem; font-weight: 700; letter-spacing: -0.01em; }
    .fi-body .fi-header {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem 0.75rem;
    }
    @media (max-width: 639.98px) {
        .fi-body .fi-header > .shrink-0 {
            flex-shrink: 1;
            min-width: 0;
        }
        .fi-body .fi-header .fi-ac > .fi-btn { flex: 1 1 100%; }
    }
    .fi-body .fi-page > section { row-gap: 0.85rem; padding-top: 0.75rem; padding-bottom: 1.25rem; }
    .fi-ta-cell, .fi-ta-header-cell { padding-top: 0.45rem; padding-bottom: 0.45rem; }
    @media (max-width: 1023.98px) {
        .fi-main-ctn, .fi-main { -webkit-overflow-scrolling: touch; }
        .fi-main { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)) !important; }
        .fi-btn, .fi-icon-btn, .fi-link, .fi-ta-actions .fi-icon-btn {
            min-height: 2.75rem;
        }
        .fi-topbar > nav { padding-top: env(safe-area-inset-top); }
    }
    .fi-body [id]:target,
    .fi-body .pt-anchor {
        scroll-margin-top: calc(4rem + env(safe-area-inset-top) + 0.75rem);
    }
    .fi-body {
        --pt-brand-50:#eef2fc; --pt-brand-100:#d9e2fa; --pt-brand-200:#bccbf4;
        --pt-brand-300:#93a9ea; --pt-brand-400:#6480db; --pt-brand-500:#3a57c7;
        --pt-brand-600:#0c36a5; --pt-brand-700:#0a2c84;
        --pt-amber-50:#fffbeb; --pt-amber-200:#fde68a; --pt-amber-300:#fcd34d;
        --pt-amber-400:#fbbf24; --pt-amber-600:#d97706; --pt-amber-800:#92400e;
    }
    .fi-body .bg-brand-50  { background-color: var(--pt-brand-50);  }
    .fi-body .bg-brand-100 { background-color: var(--pt-brand-100); }
    .fi-body .bg-brand-500 { background-color: var(--pt-brand-500); }
    .fi-body .bg-brand-600 { background-color: var(--pt-brand-600); }
    :where(.fi-body) .bg-amber-50 { background-color: var(--pt-amber-50); }
    .fi-body .bg-brand-500\/10  { background-color: color-mix(in srgb, var(--pt-brand-500) 10%, transparent); }
    .fi-body .bg-brand-500\/15  { background-color: color-mix(in srgb, var(--pt-brand-500) 15%, transparent); }
    .fi-body .bg-brand-500\/20  { background-color: color-mix(in srgb, var(--pt-brand-500) 20%, transparent); }
    :where(.fi-body) .bg-amber-500\/10 { background-color: color-mix(in srgb, var(--pt-amber-400) 10%, transparent); }
    .fi-body .text-brand-50  { color: var(--pt-brand-50);  }
    .fi-body .text-brand-50\/80 { color: color-mix(in srgb, var(--pt-brand-50) 80%, transparent); }
    .fi-body .text-brand-300 { color: var(--pt-brand-300); }
    .fi-body .text-brand-400 { color: var(--pt-brand-400); }
    .fi-body .text-brand-600 { color: var(--pt-brand-600); }
    .fi-body .text-brand-700 { color: var(--pt-brand-700); }
    :where(.fi-body) .text-amber-300 { color: var(--pt-amber-300); }
    :where(.fi-body) .text-amber-400 { color: var(--pt-amber-400); }
    :where(.fi-body) .text-amber-600 { color: var(--pt-amber-600); }
    :where(.fi-body) .text-amber-800 { color: var(--pt-amber-800); }
    .fi-body .border-brand-200 { border-color: var(--pt-brand-200); }
    .fi-body .border-brand-300 { border-color: var(--pt-brand-300); }
    :where(.fi-body) .border-amber-200 { border-color: var(--pt-amber-200); }
    .fi-body .border-brand-500\/30 { border-color: color-mix(in srgb, var(--pt-brand-500) 30%, transparent); }
    :where(.fi-body) .border-amber-500\/30 { border-color: color-mix(in srgb, var(--pt-amber-400) 30%, transparent); }
    .fi-body .ring-brand-500 { --tw-ring-color: var(--pt-brand-500); box-shadow: 0 0 0 2px var(--pt-brand-500); }
    .fi-body .bg-brand-700 { background-color: var(--pt-brand-700); }
    .fi-body .hover\:bg-brand-700:hover { background-color: var(--pt-brand-700); }
    .fi-body .focus\:border-brand-500:focus { border-color: var(--pt-brand-500); }
    .fi-body .focus\:ring-brand-500:focus { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pt-brand-500) 35%, transparent); }
    .fi-body .text-white { color: #ffffff; }
    :where(.fi-body) .border-red-200 { border-color: #fecaca; }
    :where(.fi-body) .text-red-700 { color: #b91c1c; }
    :where(.fi-body) .text-red-700\/90 { color: rgba(185, 28, 28, 0.9); }
    .dark .fi-body .dark\:border-red-500\/30 { border-color: rgba(239, 68, 68, 0.30); }
    .dark .fi-body .dark\:text-red-300 { color: #fca5a5; }
    .dark .fi-body .dark\:text-red-300\/90 { color: rgba(252, 165, 165, 0.9); }
    :where(.fi-body) .bg-red-50  { background-color: #fef2f2; }
    :where(.fi-body) .bg-red-500 { background-color: #ef4444; }
    :where(.fi-body) .bg-red-600 { background-color: #dc2626; }
    :where(.fi-body) .bg-red-700 { background-color: #b91c1c; }
    :where(.fi-body) .text-red-600 { color: #dc2626; }
    :where(.fi-body) .hover\:bg-red-50:hover  { background-color: #fef2f2; }
    :where(.fi-body) .hover\:bg-red-500:hover { background-color: #ef4444; }
    :where(.fi-body) .hover\:bg-red-700:hover { background-color: #b91c1c; }
    :where(.fi-body) .ring-red-400 { --tw-ring-color: #f87171; }
    :where(.fi-body) .focus-visible\:ring-red-400:focus-visible { box-shadow: 0 0 0 2px #f87171; }
    .dark .fi-body .dark\:text-red-400 { color: #f87171; }
    .dark .fi-body .dark\:bg-red-500\/10 { background-color: rgba(239,68,68,0.10); }
    .dark .fi-body .dark\:hover\:bg-red-500\/10:hover { background-color: rgba(239,68,68,0.10); }
    :where(.fi-body) .bg-green-50  { background-color: #ecfdf5; }
    :where(.fi-body) .bg-green-600 { background-color: #16a34a; }
    :where(.fi-body) .bg-green-700 { background-color: #15803d; }
    :where(.fi-body) .text-green-600 { color: #16a34a; }
    :where(.fi-body) .hover\:bg-green-600:hover { background-color: #16a34a; }
    :where(.fi-body) .hover\:bg-green-700:hover { background-color: #15803d; }
    :where(.fi-body) .ring-green-400 { --tw-ring-color: #4ade80; }
    :where(.fi-body) .focus-visible\:ring-green-400:focus-visible { box-shadow: 0 0 0 2px #4ade80; }
    .dark .fi-body .dark\:text-green-400 { color: #4ade80; }
    .dark .fi-body .dark\:bg-green-500\/10 { background-color: rgba(16,185,129,0.10); }
    :where(.fi-body) .bg-amber-500 { background-color: #f59e0b; }
    :where(.fi-body) .bg-amber-600 { background-color: #d97706; }
    :where(.fi-body) .hover\:bg-amber-600:hover { background-color: #d97706; }
    :where(.fi-body) .hover\:bg-amber-700:hover { background-color: #b45309; }
    :where(.fi-body) .ring-amber-400 { --tw-ring-color: #fbbf24; }
    :where(.fi-body) .focus-visible\:ring-amber-400:focus-visible { box-shadow: 0 0 0 2px #fbbf24; }
    :where(.fi-body) .bg-amber-100 { background-color: #fef3c7; }
    :where(.fi-body) .bg-amber-700 { background-color: #b45309; }
    :where(.fi-body) .bg-blue-50 { background-color: #eff6ff; }
    :where(.fi-body) .bg-emerald-50 { background-color: #ecfdf5; }
    :where(.fi-body) .bg-gray-700 { background-color: rgb(var(--gray-700)); }
    :where(.fi-body) .bg-gray-900 { background-color: rgb(var(--gray-900)); }
    :where(.fi-body) .bg-green-100 { background-color: #dcfce7; }
    :where(.fi-body) .bg-green-500 { background-color: #22c55e; }
    :where(.fi-body) .bg-red-100 { background-color: #fee2e2; }
    :where(.fi-body) .bg-sky-100 { background-color: #e0f2fe; }
    :where(.fi-body) .border-amber-300 { border-color: #fcd34d; }
    :where(.fi-body) .border-amber-500 { border-color: #f59e0b; }
    :where(.fi-body) .border-green-200 { border-color: #bbf7d0; }
    :where(.fi-body) .border-red-500 { border-color: #ef4444; }
    :where(.fi-body) .decoration-gray-300 { text-decoration-color: rgb(var(--gray-300)); }
    :where(.fi-body) .text-amber-700 { color: #92400e; }
    :where(.fi-body) .text-amber-900 { color: #78350f; }
    :where(.fi-body) .text-blue-700 { color: #1d4ed8; }
    :where(.fi-body) .text-emerald-600 { color: #047857; }
    :where(.fi-body) .text-gray-300 { color: rgb(var(--gray-300)); }
    :where(.fi-body) .text-gray-800 { color: rgb(var(--gray-800)); }
    :where(.fi-body) .text-gray-900 { color: rgb(var(--gray-900)); }
    :where(.fi-body) .text-green-400 { color: #4ade80; }
    :where(.fi-body) .text-green-700 { color: #166534; }
    :where(.fi-body) .text-red-300 { color: #fca5a5; }
    :where(.fi-body) .text-red-400 { color: #f87171; }
    :where(.fi-body) .text-sky-700 { color: #0369a1; }
    .dark .fi-body .dark\:bg-amber-400\/10 { background-color: rgba(251,191,36,0.1); }
    .dark .fi-body .dark\:bg-amber-500\/15 { background-color: rgba(245,158,11,0.15); }
    .dark .fi-body .dark\:bg-amber-500\/20 { background-color: rgba(245,158,11,0.2); }
    .dark .fi-body .dark\:bg-blue-500\/10 { background-color: rgba(59,130,246,0.1); }
    .dark .fi-body .dark\:bg-emerald-500\/15 { background-color: rgba(16,185,129,0.15); }
    .dark .fi-body .dark\:bg-red-500\/15 { background-color: rgba(239,68,68,0.15); }
    .dark .fi-body .dark\:bg-sky-500\/10 { background-color: rgba(14,165,233,0.1); }
    .dark .fi-body .dark\:border-amber-400\/30 { border-color: rgba(251,191,36,0.3); }
    .dark .fi-body .dark\:border-amber-500\/40 { border-color: rgba(245,158,11,0.4); }
    .dark .fi-body .dark\:border-green-500\/30 { border-color: rgba(34,197,94,0.3); }
    .dark .fi-body .dark\:ring-gray-800 { --tw-ring-color: rgb(var(--gray-800)); }
    .dark .fi-body .dark\:text-amber-200 { color: #fde68a; }
    .dark .fi-body .dark\:text-blue-300 { color: #93c5fd; }
    .dark .fi-body .dark\:text-emerald-300 { color: #6ee7b7; }
    .dark .fi-body .dark\:text-gray-100 { color: rgb(var(--gray-100)); }
    .dark .fi-body .dark\:text-gray-300 { color: rgb(var(--gray-300)); }
    .dark .fi-body .dark\:text-gray-600 { color: rgb(var(--gray-600)); }
    .dark .fi-body .dark\:text-green-300 { color: #86efac; }
    .dark .fi-body .dark\:text-sky-300 { color: #7dd3fc; }
    :where(.fi-body) .focus\:bg-gray-50:focus { background-color: rgb(var(--gray-50)); }
    :where(.fi-body) .focus\:border-amber-500:focus { border-color: #f59e0b; }
    :where(.fi-body) .focus\:border-green-500:focus { border-color: #22c55e; }
    :where(.fi-body) .focus\:ring-amber-500:focus { --tw-ring-color: #f59e0b; box-shadow: 0 0 0 2px #f59e0b; }
    :where(.fi-body) .focus\:ring-green-500:focus { --tw-ring-color: #22c55e; box-shadow: 0 0 0 2px #22c55e; }
    :where(.fi-body) .hover\:bg-amber-50:hover { background-color: #fffbeb; }
    :where(.fi-body) .hover\:bg-gray-800:hover { background-color: rgb(var(--gray-800)); }
    :where(.fi-body) .hover\:border-gray-300:hover { border-color: rgb(var(--gray-300)); }
    :where(.fi-body) .hover\:text-amber-600:hover { color: #b45309; }
    :where(.fi-body) .hover\:text-gray-900:hover { color: rgb(var(--gray-900)); }
    :where(.fi-body) .hover\:text-red-600:hover { color: #b91c1c; }
    @media (min-width: 1024px) { :where(.fi-body) .lg\:border-gray-200 { border-color: rgb(var(--gray-200)); } }
    .dark .fi-body .dark\:hover\:bg-amber-500\/10:hover { background-color: rgba(245,158,11,0.1); }
    .dark .fi-body .dark\:hover\:text-amber-400:hover { color: #fbbf24; }
    .dark .fi-body .dark\:hover\:text-red-400:hover { color: #f87171; }
    @media (min-width: 1024px) { .dark .fi-body .lg\:dark\:bg-gray-900 { background-color: rgb(var(--gray-900)); } }
    :where(.fi-body) .uppercase { text-transform: uppercase; }
    :where(.fi-body) .tracking-wide { letter-spacing: 0.025em; }
    :where(.fi-body) .tabular-nums { font-variant-numeric: tabular-nums; }
    :where(.fi-body) .whitespace-pre-line { white-space: pre-line; }
    :where(.fi-body) .items-baseline { align-items: baseline; }
    .fi-body .fi-mobile-nav { box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06); }
    .dark .fi-body .fi-mobile-nav { box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.45); }
    .fi-body .pt-sheet-scrim { backdrop-filter: blur(1px); -webkit-backdrop-filter: blur(1px); }
    .fi-body .pt-pill-brand { background-color: var(--pt-brand-50);  color: var(--pt-brand-700); }
    .fi-body .pt-pill-amber { background-color: var(--pt-amber-50);  color: var(--pt-amber-800); }
    .fi-body .pt-pill-orange { background-color: #fdba74;            color: #7c2d12; }
    .fi-body .pt-pill-green { background-color: #ecfdf5;             color: #047857; }
    .fi-body .pt-pill-red   { background-color: #fef2f2;             color: #b91c1c; }
    .fi-body .pt-pill-info  { background-color: #eff6ff;             color: #1d4ed8; }
    .fi-body .pt-pill-gray  { background-color: #f4f4f5;             color: #3f3f46; }
    .fi-body .pt-pill-purple { background-color: #c084fc;            color: #3b0764; }
    .fi-body .pt-pill-pink  { background-color: #f472b6;            color: #500724; }
    .fi-body .pt-pill-teal  { background-color: #5eead4;            color: #134e4a; }
    .dark .fi-body .pt-pill-brand { background-color: color-mix(in srgb, var(--pt-brand-500) 18%, transparent); color: var(--pt-brand-300); }
    .dark .fi-body .pt-pill-amber { background-color: color-mix(in srgb, var(--pt-amber-400) 18%, transparent); color: var(--pt-amber-300); }
    .dark .fi-body .pt-pill-orange { background-color: rgba(249,115,22,0.30); color: #fed7aa; }
    .dark .fi-body .pt-pill-green { background-color: rgba(16,185,129,0.18);  color: #6ee7b7; }
    .dark .fi-body .pt-pill-red   { background-color: rgba(239,68,68,0.18);   color: #fca5a5; }
    .dark .fi-body .pt-pill-info  { background-color: rgba(59,130,246,0.18);  color: #93c5fd; }
    .dark .fi-body .pt-pill-gray  { background-color: rgba(255,255,255,0.10); color: #d4d4d8; }
    .dark .fi-body .pt-pill-purple { background-color: rgba(192,132,252,0.24); color: #e9d5ff; }
    .dark .fi-body .pt-pill-pink  { background-color: rgba(236,72,153,0.24);  color: #fbcfe8; }
    .dark .fi-body .pt-pill-teal  { background-color: rgba(94,234,212,0.20);  color: #99f6e4; }
    .fi-body .pt-tab-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.25rem;
        height: 1.25rem;
        margin-inline-start: 0.4rem;
        padding: 0 0.35rem;
        border-radius: 9999px;
        font-size: 0.6875rem;
        font-weight: 700;
        line-height: 1;
        font-variant-numeric: tabular-nums;
        background-color: var(--pt-amber-50);
        color: var(--pt-amber-800);
    }
    .dark .fi-body .pt-tab-count {
        background-color: color-mix(in srgb, var(--pt-amber-400) 22%, transparent);
        color: var(--pt-amber-300);
    }
    .fi-body .pt-quote {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        margin: 0.75rem 0;
        padding: 0.9rem 1.05rem;
        border-radius: 1.1rem;
        background:
            radial-gradient(120% 140% at 0% 0%,
                color-mix(in srgb, var(--pt-amber-400) 7%, transparent) 0%,
                transparent 42%),
            var(--pt-surface);
        border: 1px solid var(--pt-border);
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    }
    .fi-body .pt-quote-icon {
        flex: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.1rem;
        height: 2.1rem;
        margin-top: -0.1rem;
        border-radius: 0.65rem;
        background: var(--pt-amber-50);
        color: var(--pt-amber-600);
    }
    .fi-body .pt-quote-body { min-width: 0; }
    .fi-body .pt-quote-eyebrow {
        display: block;
        font-size: 0.625rem;
        font-weight: 700;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: var(--pt-amber-600);
    }
    .fi-body .pt-quote-text {
        margin: 0.3rem 0 0;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1rem;
        line-height: 1.45;
        font-weight: 500;
        color: rgb(24 24 27);
        text-wrap: pretty;
    }
    .fi-body .pt-quote-by {
        margin-top: 0.3rem;
        font-size: 0.75rem;
        font-weight: 500;
        color: rgb(113 113 122);
    }
    .fi-body .pt-quote-by::before { content: "— "; }
    .dark .fi-body .pt-quote-icon { background: color-mix(in srgb, var(--pt-amber-400) 16%, transparent); color: var(--pt-amber-300); }
    .dark .fi-body .pt-quote-eyebrow { color: var(--pt-amber-300); }
    .dark .fi-body .pt-quote-text { color: rgb(228 228 231); }
    .dark .fi-body .pt-quote-by   { color: rgb(161 161 170); }
    @media (min-width: 1024px) {
        .fi-body .pt-quote { margin: 1rem 0 0.25rem; padding: 1rem 1.25rem; gap: 0.9rem; }
        .fi-body .pt-quote-text { font-size: 1.0625rem; max-width: 72ch; }
    }
    .fi-body .hover\:border-brand-300:hover { border-color: var(--pt-brand-300); }
    .fi-body .hover\:bg-brand-100:hover { background-color: var(--pt-brand-100); }
    .fi-body .hover\:text-brand-600:hover { color: var(--pt-brand-600); }
    .fi-body .pt-rotate-180 { transform: rotate(180deg); }
    :where(.fi-body) .bg-gray-100 { background-color: #f4f4f5; }
    :where(.fi-body) .bg-gray-200 { background-color: #e4e4e7; }
    :where(.fi-body) .hover\:bg-gray-100:hover { background-color: #f4f4f5; }
    :where(.fi-body) .hover\:bg-gray-200:hover { background-color: #e4e4e7; }
    .dark .fi-body .dark\:hover\:bg-white\/10:hover { background-color: rgba(255,255,255,0.10); }
    .fi-body .bg-gradient-to-br.from-brand-500.to-brand-600 {
        background-image: linear-gradient(to bottom right, var(--pt-brand-500), var(--pt-brand-600));
    }
    .fi-body .rounded-2xl { border-radius: 1rem; }
    .fi-body .rounded-t-2xl { border-top-left-radius: 1rem; border-top-right-radius: 1rem; }
    .fi-body .shadow-sm  { box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); }
    .fi-body .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); }
    [x-cloak] { display: none !important; }
    @keyframes pt-spin { to { transform: rotate(360deg); } }
    .fi-body .pt-spin { animation: pt-spin .7s linear infinite; }
    .fi-body .fi-input-wrp {
        border: 1px solid #cbd5e1;
        border-radius: 0.6rem;
        background: #fff;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    }
    .fi-body .fi-input-wrp:focus-within {
        border-color: var(--pt-brand-500);
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--pt-brand-500) 35%, transparent);
    }
    .dark .fi-body .fi-input-wrp {
        border-color: rgba(255, 255, 255, 0.16);
        background: rgba(255, 255, 255, 0.02);
        box-shadow: none;
    }
    :where(.fi-body) .bg-gray-900\/40 { background-color: rgba(24,24,27,0.4); }
    :where(.fi-body) .bg-gray-300 { background-color: #d4d4d8; }
    .dark .fi-body .dark\:bg-white\/15 { background-color: rgba(255,255,255,0.15); }
    .dark .fi-body .dark\:hover\:bg-white\/5:hover { background-color: rgba(255,255,255,0.05); }
    .dark .fi-body .dark\:bg-brand-500\/10  { background-color: color-mix(in srgb, var(--pt-brand-500) 10%, transparent); }
    .dark .fi-body .dark\:bg-brand-500\/15  { background-color: color-mix(in srgb, var(--pt-brand-500) 15%, transparent); }
    .dark .fi-body .dark\:bg-brand-500\/20  { background-color: color-mix(in srgb, var(--pt-brand-500) 20%, transparent); }
    .dark .fi-body .dark\:bg-amber-500\/10 { background-color: color-mix(in srgb, var(--pt-amber-400) 10%, transparent); }
    .dark .fi-body .dark\:text-brand-300 { color: var(--pt-brand-300); }
    .dark .fi-body .dark\:text-brand-400 { color: var(--pt-brand-400); }
    .dark .fi-body .dark\:text-amber-300 { color: var(--pt-amber-300); }
    .dark .fi-body .dark\:text-amber-400 { color: var(--pt-amber-400); }
    .dark .fi-body .dark\:border-brand-500\/30  { border-color: color-mix(in srgb, var(--pt-brand-500) 30%, transparent); }
    .dark .fi-body .dark\:border-amber-500\/30 { border-color: color-mix(in srgb, var(--pt-amber-400) 30%, transparent); }
    :where(.fi-body) .hover\:bg-brand-50:hover { background-color: var(--pt-brand-50); }
    :where(.fi-body) .hover\:bg-brand-600:hover { background-color: var(--pt-brand-600); }
    :where(.fi-body) .hover\:text-brand-700:hover { color: var(--pt-brand-700); }
    :where(.fi-body) .focus-visible\:ring-brand-500:focus-visible {
        --tw-ring-color: var(--pt-brand-500);
        box-shadow: 0 0 0 2px var(--pt-brand-500);
    }
    .dark .fi-body .dark\:hover\:bg-brand-500\/10:hover { background-color: color-mix(in srgb, var(--pt-brand-500) 10%, transparent); }
    .dark .fi-body .dark\:hover\:border-brand-500\/50:hover { border-color: color-mix(in srgb, var(--pt-brand-500) 50%, transparent); }
    .dark .fi-body .dark\:hover\:text-brand-300:hover { color: var(--pt-brand-300); }
    .dark .fi-body .dark\:text-brand-200 { color: var(--pt-brand-200); }
    :where(.fi-body) .bg-white\/25 { background-color: rgba(255,255,255,0.25); }
    :where(.fi-body) .bg-white\/70 { background-color: rgba(255,255,255,0.70); }
    :where(.fi-body) .ring-black\/5 { --tw-ring-color: rgba(0,0,0,0.05); }
    :where(.fi-body) .text-current { color: currentColor; }
    @media (min-width: 1024px) { :where(.fi-body) .lg\:bg-white { background-color: #ffffff; } }
    .dark .fi-body .dark\:focus\:bg-white\/5:focus { background-color: rgba(255,255,255,0.05); }
    .dark .fi-body .dark\:hover\:border-white\/20:hover { border-color: rgba(255,255,255,0.20); }
    .dark .fi-body .dark\:hover\:text-white:hover { color: #ffffff; }
    @media (min-width: 1024px) { .dark .fi-body .lg\:dark\:border-white\/10 { border-color: rgba(255,255,255,0.10); } }
    .fi-body .p-5 { padding: 1.25rem; }
    .fi-body .p-1\.5 { padding: 0.375rem; }
    .fi-body .py-16 { padding-top: 4rem; padding-bottom: 4rem; }
    .fi-body .mt-4 { margin-top: 1rem; }
    .fi-body .mb-3 { margin-bottom: 0.75rem; }
    .fi-body .mb-1\.5 { margin-bottom: 0.375rem; }
    .fi-body .mx-4 { margin-left: 1rem; margin-right: 1rem; }
    .fi-body .h-1 { height: 0.25rem; }
    .fi-body .min-h-\[2\.75rem\] { min-height: 2.75rem; }
    .fi-body .overflow-hidden { overflow: hidden; }
    .fi-body .text-\[10px\] { font-size: 10px; }
    .fi-body .text-\[11px\] { font-size: 11px; }
    .fi-body .max-h-\[80vh\] { max-height: 80vh; }
    .fi-body .leading-none { line-height: 1; }
    .fi-body .leading-relaxed { line-height: 1.625; }
    .fi-body .space-y-3 > * + * { margin-top: 0.75rem; }
    .fi-body .gap-2\.5 { gap: 0.625rem; }
    .fi-body .gap-0\.5 { gap: 0.125rem; }
    .fi-body .break-words { overflow-wrap: break-word; }
    .fi-body .object-cover { object-fit: cover; }
    .fi-body .right-4 { right: max(1rem, env(safe-area-inset-right)); }
    @media (max-width: 1023.98px) {
        .fi-body .pt-has-fab { padding-bottom: 5.5rem; }
    }
    :where(.fi-body) .text-amber-800\/80 { color: rgba(146, 64, 14, 0.8); }
    .dark .fi-body .dark\:text-amber-300\/80 { color: rgba(252, 211, 77, 0.8); }
    :where(.fi-body) .hover\:border-amber-300:hover { border-color: #fcd34d; }
    .fi-body .h-12 { height: 3rem; }
    .fi-body .w-12 { width: 3rem; }
    .fi-body .h-14 { height: 3.5rem; }
    .fi-body .w-14 { width: 3.5rem; }
    .fi-body .flex-none { flex: none; }
    @media (min-width: 640px) {
        .fi-body .sm\:flex-1 { flex: 1 1 0%; }
    }
    .fi-body .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fi-body .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fi-body .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .fi-body .grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    @media (min-width: 640px) {
        .fi-body .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .fi-body .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .fi-body .sm\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        .fi-body .sm\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
        .fi-body .sm\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
        .fi-body .sm\:p-5 { padding: 1.25rem; }
        .fi-body .sm\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
    }
    @media (min-width: 768px) {
        .fi-body .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .fi-body .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .fi-body .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }
    @media (min-width: 1024px) {
        .fi-body .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .fi-body .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .fi-body .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        .fi-body .lg\:inline-flex { display: inline-flex; }
    }
    @media (min-width: 1280px) {
        .fi-body .xl\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .fi-body .xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }
    @media (min-width: 1024px) {
        .fi-body .fi-page .space-y-4 > * + * { margin-top: 0.75rem; }
        .fi-body .fi-page .mt-2 { margin-top: 0.5rem; }
        .fi-body .bg-gradient-to-br.from-brand-500.to-brand-600 { padding: 0.9rem 1.25rem; }
        .fi-body .bg-gradient-to-br.from-brand-500.to-brand-600 .text-2xl { font-size: 1.25rem; line-height: 1.6rem; }
        .fi-body .fi-page a.group.rounded-2xl { padding: 0.7rem 0.9rem; gap: 0.7rem; }
        .fi-body .fi-page a.group.rounded-2xl > .flex-none { padding: 0.45rem; }
        .fi-body .fi-page a.group.rounded-2xl svg { height: 1.2rem; width: 1.2rem; }
        .fi-body .fi-page .grid > div.rounded-2xl { padding: 0.8rem; }
        .fi-body .fi-page .grid > div.rounded-2xl .text-3xl { font-size: 1.5rem; }
        .fi-body .fi-page dl.grid-cols-3 { margin-top: 0.5rem; }
        .fi-body .fi-page dl.grid-cols-3 > div { padding-top: 0.3rem; padding-bottom: 0.3rem; }
    }
    @media (max-width: 1023.98px) {
        .fi-body .fi-modal-window {
            display: flex;
            flex-direction: column;
            max-height: calc(100dvh - 2rem);
            overflow: hidden;
        }
        .fi-body .fi-modal-content {
            flex: 1 1 auto;
            min-height: 0;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .fi-body .fi-modal-footer {
            position: sticky;
            bottom: 0;
            z-index: 10;
            background: #ffffff;
            padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
            box-shadow: 0 -1px 0 0 rgba(16, 24, 40, 0.06);
        }
        .dark .fi-body .fi-modal-footer { background: #18181b; }
    }
    .dr-page .dr-tasks .fi-fo-repeater-item-content { padding: 0.75rem !important; }
    .dr-page .dr-tasks .fi-fo-repeater-item-header { padding: 0.4rem 0.75rem !important; }
    .dr-page .dr-tasks .fi-fo-repeater-item-content > .fi-fo-component-ctn { gap: 0.6rem !important; }
    .dr-page .dr-time-row > .fi-fo-component-ctn {
        display: flex !important;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 0.5rem 0.75rem !important;
    }
    .dr-page .dr-time-row > .fi-fo-component-ctn > * { width: auto !important; }
    .dr-page .dr-time-row .dr-hours { width: 5rem; flex: 0 0 auto; }
    .dr-page .dr-total-hint {
        flex: 0 0 auto;
        padding-bottom: 0.45rem;
        font-variant-numeric: tabular-nums;
        font-weight: 600;
        color: var(--pt-brand-600);
    }
    .dark .dr-page .dr-total-hint { color: var(--pt-brand-300); }
    .dr-page .fi-btn-group { max-width: 100%; }
    .fi-body .dr-tasks:has(input:disabled, select:disabled, textarea:disabled) { opacity: 0.72; }
    .fi-body .dr-tasks:has(input:disabled) .fi-fo-repeater-item { cursor: not-allowed; }
    @media (min-width: 1024px) {
        .fi-body .dr-form-body .dr-tasks .fi-fo-repeater-item-content { padding: 1rem 1.15rem !important; }
        .fi-body .dr-form-body .dr-tasks .fi-fo-repeater-item-content > .fi-fo-component-ctn { gap: 0.85rem !important; }
        .fi-body .dr-form-body .dr-tasks input,
        .fi-body .dr-form-body .dr-tasks .fi-input { font-size: 0.95rem; }
        .fi-body .dr-form-body .dr-time-row .dr-hours,
        .fi-body .dr-form-body .dr-time-row .dr-minutes { width: 6rem; flex: 0 0 auto; }
        .fi-body .dr-form-body .dr-total-hint { margin-left: auto; font-size: 0.95rem; }
    }
    .fi-body .dr-returned-note {
        font-size: 0.9rem;
        line-height: 1.5;
        color: #b91c1c;
        padding: 0.6rem 0.85rem;
        border-radius: 0.65rem;
        background: color-mix(in srgb, #dc2626 8%, transparent);
    }
    .fi-body .dr-returned-label { font-weight: 700; }
    .dark .fi-body .dr-returned-note { color: #fca5a5; background: rgba(239,68,68,0.12); }
    .fi-body .dr-mhero {
        position: relative;
        overflow: hidden;
        padding: 1.05rem 1.15rem;
        border-radius: 1.1rem;
        color: #fff;
        background:
            radial-gradient(120% 150% at 100% 0%, rgba(255,255,255,0.16) 0%, transparent 46%),
            linear-gradient(135deg, var(--pt-brand-700) 0%, var(--pt-brand-600) 50%, var(--pt-brand-500) 100%);
        box-shadow: 0 14px 30px -20px rgba(12, 54, 165, 0.5);
    }
    .fi-body .dr-mhero-eyebrow {
        display: inline-block;
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.72);
    }
    .fi-body .dr-mhero-figure {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 0.4rem;
        margin-top: 0.3rem;
    }
    .fi-body .dr-mhero-num {
        font-size: clamp(2rem, 10vw, 2.6rem);
        font-weight: 800;
        line-height: 1;
        letter-spacing: -0.03em;
        font-variant-numeric: tabular-nums;
    }
    .fi-body .dr-mhero-unit { font-size: 0.9rem; font-weight: 600; color: rgba(255,255,255,0.85); }
    .fi-body .dr-mhero-sub {
        margin-top: 0.4rem;
        font-size: 0.85rem;
        line-height: 1.5;
        color: rgba(255,255,255,0.82);
    }
    .fi-body .dr-statgrid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
    }
    @media (min-width: 640px) {
        .fi-body .dr-statgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }
    .fi-body .ptc-stat--compact {
        padding: 0.6rem 0.7rem 0.6rem 0.85rem;
        border-radius: 0.85rem;
        gap: 0.05rem;
    }
    .fi-body .ptc-stat--compact .ptc-stat-value { font-size: clamp(1.3rem, 7vw, 1.65rem); }
    .fi-body .ptc-stat--compact .ptc-stat-label { font-size: 0.66rem; }
    @media (max-width: 1023.98px) {
        .fi-body .pt-desktop-only { display: none !important; }
    }
    @media (min-width: 1024px) {
        .fi-body .pt-mobile-only { display: none !important; }
    }
    .fi-topbar .fi-user-menu { display: none !important; }
    @media (max-width: 1023.98px) {
        .fi-topbar-open-sidebar-btn,
        .fi-topbar-close-sidebar-btn { display: none !important; }
    }
    .fi-body .pt-leave-layout { display: grid; gap: 1rem; }
    @media (min-width: 1024px) {
        .fi-body .pt-leave-layout {
            grid-template-columns: 20rem minmax(0, 1fr);
            gap: 1.5rem;
            align-items: start;
        }
    }
    .fi-body .pt-desk {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        --pt-surface: #ffffff;
        --pt-border: #e6e8ee;
        --pt-ink: #10152b;
        --pt-ink-soft: #5b6478;
        --pt-ink-faint: #93a0b5;
        --pt-track: #eef1f6;
    }
    .dark .fi-body .pt-desk {
        --pt-surface: #14161c;
        --pt-border: rgba(255,255,255,0.08);
        --pt-ink: #f2f4f8;
        --pt-ink-soft: #a3adbf;
        --pt-ink-faint: #6b7688;
        --pt-track: rgba(255,255,255,0.08);
    }
    .fi-body .pt-hero {
        position: relative;
        overflow: hidden;
        display: grid;
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
        align-items: center;
        gap: 1.5rem 2.5rem;
        padding: 1.6rem 1.9rem;
        border-radius: 1.25rem;
        color: #fff;
        background:
            radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,0.16) 0%, transparent 45%),
            linear-gradient(135deg, var(--pt-brand-700) 0%, var(--pt-brand-600) 46%, var(--pt-brand-500) 100%);
        box-shadow: 0 18px 40px -22px rgba(12, 54, 165, 0.55);
    }
    .fi-body .pt-hero::after {
        content: "";
        position: absolute;
        top: -35%;
        right: -6%;
        width: 18rem;
        height: 18rem;
        border-radius: 9999px;
        border: 2.5rem solid rgba(255,255,255,0.06);
        pointer-events: none;
    }
    .fi-body .pt-hero-lead { position: relative; z-index: 1; min-width: 0; }
    .fi-body .pt-eyebrow {
        display: inline-block;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.72);
    }
    .fi-body .pt-hero-figure {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 0.55rem;
        margin-top: 0.4rem;
    }
    .fi-body .pt-hero-num {
        font-size: clamp(2.6rem, 3.4vw, 3.6rem);
        font-weight: 800;
        line-height: 1;
        letter-spacing: -0.03em;
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-hero-unit {
        font-size: 0.95rem;
        font-weight: 600;
        color: rgba(255,255,255,0.82);
    }
    .fi-body .pt-hero-sub {
        margin-top: 0.55rem;
        max-width: 34rem;
        font-size: 0.925rem;
        line-height: 1.55;
        color: rgba(255,255,255,0.78);
    }
    .fi-body .pt-hero-link {
        color: #fff;
        font-weight: 600;
        text-decoration: underline;
        text-underline-offset: 2px;
        text-decoration-color: rgba(255,255,255,0.45);
        transition: text-decoration-color 150ms;
    }
    .fi-body .pt-hero-link:hover { text-decoration-color: #fff; }
    .fi-body .pt-hero-metrics {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
    }
    .fi-body .pt-metric {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
        padding: 0.7rem 0.85rem;
        border-radius: 0.85rem;
        background: rgba(255,255,255,0.10);
        border: 1px solid rgba(255,255,255,0.14);
        backdrop-filter: blur(2px);
    }
    .fi-body .pt-metric-label {
        font-size: 0.68rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.72);
    }
    .fi-body .pt-metric-val {
        font-size: 1.35rem;
        font-weight: 700;
        line-height: 1.1;
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-metric-accent {
        background: rgba(253, 230, 138, 0.16);
        border-color: rgba(253, 230, 138, 0.34);
    }
    .fi-body .pt-metric-accent .pt-metric-val { color: #fde68a; }
    @media (min-width: 1400px) {
        .fi-body .pt-hero-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }
    .fi-body .pt-hero-slim {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 1rem 1.75rem;
        padding: 0.95rem 1.4rem;
        border-radius: 1rem;
    }
    .fi-body .pt-hero-slim::after { display: none; }
    .fi-body .pt-hero-slim .pt-hero-figure {
        margin-top: 0.15rem;
        align-items: baseline;
        gap: 0.5rem;
    }
    .fi-body .pt-hero-slim .pt-hero-num { font-size: clamp(1.9rem, 2.4vw, 2.4rem); }
    .fi-body .pt-hero-slim .pt-hero-unit { font-size: 0.85rem; }
    .fi-body .pt-hero-slim .pt-hero-metrics {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.5rem;
    }
    .fi-body .pt-hero-slim .pt-metric {
        flex-direction: row;
        align-items: baseline;
        gap: 0.4rem;
        padding: 0.4rem 0.7rem;
        border-radius: 0.7rem;
    }
    .fi-body .pt-hero-slim .pt-metric-val { font-size: 1.05rem; }
    .fi-body .pt-hero-slim .pt-hero-sub {
        margin-top: 0.2rem;
        font-size: 0.82rem;
        line-height: 1.4;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .fi-body .pt-hero-slim .pt-hero-cta { margin-top: 0.6rem; }
    @media (max-width: 640px) {
        .fi-body .pt-hero-slim { grid-template-columns: minmax(0, 1fr); }
        .fi-body .pt-hero-slim .pt-hero-metrics { justify-content: flex-start; }
    }
    .fi-body .pt-section { display: flex; flex-direction: column; gap: 0.75rem; }
    .fi-body .pt-shead {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 1rem;
        padding-bottom: 0.15rem;
        border-bottom: 1px solid var(--pt-border);
    }
    .fi-body .pt-shead-title {
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: -0.01em;
        color: var(--pt-ink);
    }
    .fi-body .pt-shead-note {
        font-size: 0.75rem;
        font-weight: 500;
        color: var(--pt-ink-faint);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-empty {
        padding: 2rem 1.5rem;
        border: 1px dashed var(--pt-border);
        border-radius: 1rem;
        text-align: center;
        font-size: 0.85rem;
        color: var(--pt-ink-soft);
    }
    .fi-body .pt-cards {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
        gap: 0.9rem;
    }
    .fi-body .pt-card {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
        padding: 1.1rem 1.15rem;
        border-radius: 1.1rem;
        background: var(--pt-surface);
        border: 1px solid var(--pt-border);
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .fi-body .pt-card:hover {
        transform: translateY(-2px);
        border-color: var(--pt-brand-300);
        box-shadow: 0 14px 30px -18px rgba(12, 54, 165, 0.35);
    }
    .fi-body .pt-card-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
    }
    .fi-body .pt-card-title {
        font-size: 0.975rem;
        font-weight: 700;
        letter-spacing: -0.01em;
        color: var(--pt-ink);
        min-width: 0;
        overflow-wrap: break-word;
    }
    .fi-body .pt-card-tag {
        flex: none;
        font-size: 0.65rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        padding: 0.15rem 0.5rem;
        border-radius: 0.5rem;
        color: var(--pt-ink-soft);
        background: var(--pt-track);
    }
    .fi-body .pt-card-body {
        display: flex;
        align-items: center;
        gap: 1.1rem;
    }
    .fi-body .pt-card-note {
        font-size: 0.9rem;
        line-height: 1.5;
        color: var(--pt-ink-soft);
    }
    .fi-body .pt-card-owed {
        margin-top: -0.35rem;
        font-size: 0.7rem;
        line-height: 1.35;
        color: #b91c1c;
    }
    .dark .fi-body .pt-card-owed { color: #fca5a5; }
    .fi-body .pt-ring {
        flex: none;
        width: 5.25rem;
        height: 5.25rem;
        border-radius: 9999px;
        background:
            conic-gradient(var(--pt-brand-500) calc(var(--pt-pct, 0) * 1%), var(--pt-track) 0);
        display: grid;
        place-items: center;
    }
    .fi-body .pt-ring-hole {
        width: 3.9rem;
        height: 3.9rem;
        border-radius: 9999px;
        background: var(--pt-surface);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }
    .fi-body .pt-ring-num {
        font-size: 1.35rem;
        font-weight: 800;
        letter-spacing: -0.02em;
        color: var(--pt-brand-600);
        font-variant-numeric: tabular-nums;
    }
    .dark .fi-body .pt-ring-num { color: var(--pt-brand-300); }
    .fi-body .pt-ring-lbl {
        margin-top: 0.15rem;
        font-size: 0.62rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--pt-ink-faint);
    }
    .fi-body .pt-statlist {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
    }
    .fi-body .pt-statlist > div {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem;
        padding-bottom: 0.3rem;
        border-bottom: 1px solid var(--pt-track);
    }
    .fi-body .pt-statlist > div:last-child { border-bottom: 0; padding-bottom: 0; }
    .fi-body .pt-statlist dt {
        font-size: 0.72rem;
        font-weight: 500;
        color: var(--pt-ink-soft);
    }
    .fi-body .pt-statlist dd {
        font-size: 0.975rem;
        font-weight: 700;
        color: var(--pt-ink);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-stat-accent dd { color: var(--pt-amber-600); }
    .dark .fi-body .pt-stat-accent dd { color: var(--pt-amber-300); }
    .fi-body .pt-stat-muted dd { color: var(--pt-ink-soft); font-weight: 600; }
    .fi-body .pt-ledger {
        border: 1px solid var(--pt-border);
        border-radius: 1.1rem;
        overflow: hidden;
        background: var(--pt-surface);
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    }
    .fi-body .pt-table { width: 100%; border-collapse: collapse; text-align: left; }
    .fi-body .pt-table thead th {
        padding: 0.7rem 1.1rem;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--pt-ink-faint);
        background: color-mix(in srgb, var(--pt-track) 55%, transparent);
        border-bottom: 1px solid var(--pt-border);
    }
    .fi-body .pt-col-right { text-align: right; }
    .fi-body .pt-row > td {
        padding: 0.85rem 1.1rem;
        border-bottom: 1px solid var(--pt-track);
        vertical-align: middle;
    }
    .fi-body .pt-table tbody tr:last-child > td { border-bottom: 0; }
    .fi-body .pt-row { transition: background-color .15s ease; }
    .fi-body .pt-row:hover > td { background: color-mix(in srgb, var(--pt-brand-500) 5%, transparent); }
    .fi-body .pt-row.is-unread > td:first-child {
        box-shadow: inset 3px 0 0 0 var(--pt-brand-500);
    }
    .fi-body .pt-row.is-unread:not(:hover) > td {
        background: color-mix(in srgb, var(--pt-brand-500) 4%, transparent);
    }
    .fi-body .pt-appr-card.is-unread {
        border-left: 3px solid var(--pt-brand-500);
        background: color-mix(in srgb, var(--pt-brand-500) 4%, #fff);
    }
    .dark .fi-body .pt-appr-card.is-unread {
        background: color-mix(in srgb, var(--pt-brand-500) 12%, transparent);
    }
    .fi-body .pt-unread-dot {
        display: inline-block; width: 7px; height: 7px; border-radius: 9999px;
        background: var(--pt-brand-500); flex: none;
    }
    .fi-body .pt-cell-type {
        font-size: 0.975rem;
        font-weight: 700;
        color: var(--pt-ink);
    }
    .fi-body .pt-cell-period {
        font-size: 0.925rem;
        color: var(--pt-ink-soft);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-cell-muted { color: var(--pt-ink-faint); }
    .fi-body .pt-cell-sub { color: var(--pt-ink-faint); font-size: 0.85rem; }
    .fi-body .pt-cell-quote {
        margin-top: 0.25rem;
        padding-left: 0.5rem;
        border-left: 2px solid #d4d4d8;
        color: #52525b;
        max-width: 46ch;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .dark .fi-body .pt-cell-quote { border-left-color: rgba(255,255,255,0.28); color: #a1a1aa; }
    .fi-body a.pt-name-link {
        text-decoration: underline;
        text-underline-offset: 2px;
        text-decoration-color: #d4d4d8;
        transition: text-decoration-color 150ms;
    }
    .fi-body a.pt-name-link:hover { text-decoration-color: #71717a; }
    .dark .fi-body a.pt-name-link { text-decoration-color: rgba(255,255,255,0.3); }
    .dark .fi-body a.pt-name-link:hover { text-decoration-color: #fff; }
    .fi-body a.pt-appr-name.pt-name-link { display: block; }
    .fi-body .pt-cell-num {
        font-size: 0.925rem;
        color: var(--pt-ink-soft);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .fi-body .pt-chip {
        display: inline-flex;
        align-items: center;
        padding: 0.2rem 0.6rem;
        border-radius: 0.55rem;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.01em;
        white-space: nowrap;
    }
    .fi-body .pt-btn-danger {
        display: inline-flex;
        align-items: center;
        padding: 0.35rem 0.85rem;
        border-radius: 0.6rem;
        font-size: 0.78rem;
        font-weight: 600;
        color: #b91c1c;
        background: #fef2f2;
        border: 1px solid #fecaca;
        cursor: pointer;
        transition: background-color .15s ease, color .15s ease, border-color .15s ease;
    }
    .fi-body .pt-btn-danger:hover { background: #dc2626; border-color: #dc2626; color: #fff; }
    .fi-body .pt-btn-danger:focus-visible { outline: none; box-shadow: 0 0 0 2px #f87171; }
    .dark .fi-body .pt-btn-danger { background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.30); color: #fca5a5; }
    .dark .fi-body .pt-btn-danger:hover { background: #dc2626; border-color: #dc2626; color: #fff; }
    .fi-body .pt-row-sub > td {
        padding: 0 1.1rem 0.9rem;
        border-bottom: 1px solid var(--pt-track);
    }
    .fi-body .pt-table tbody tr.pt-row-sub:last-child > td { border-bottom: 0; }
    .fi-body .pt-appr-filter {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        padding: 0.35rem;
        border: 1px solid var(--pt-border);
        border-radius: 0.9rem;
        background: var(--pt-surface);
    }
    .fi-body .pt-appr-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        min-height: 2.25rem;
        padding: 0.45rem 0.8rem;
        border-radius: 0.65rem;
        font-size: 0.8rem;
        font-weight: 600;
        color: var(--pt-ink-soft);
        background: transparent;
        cursor: pointer;
        transition: background-color .15s ease, color .15s ease;
    }
    .fi-body .pt-appr-chip:hover { background: var(--pt-track); color: var(--pt-ink); }
    .fi-body .pt-appr-chip:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500); }
    .fi-body .pt-appr-chip-on { background: var(--pt-brand-600); color: #fff; }
    .fi-body .pt-appr-chip-on:hover { background: var(--pt-brand-600); color: #fff; }
    .fi-body .pt-appr-count {
        min-width: 1.35rem;
        padding: 0 0.35rem;
        border-radius: 9999px;
        font-size: 0.7rem;
        font-weight: 700;
        text-align: center;
        font-variant-numeric: tabular-nums;
        background: var(--pt-track);
        color: var(--pt-ink-soft);
    }
    .fi-body .pt-appr-chip-on .pt-appr-count { background: rgba(255,255,255,0.22); color: #fff; }
    .fi-body .pt-appr-who { display: flex; align-items: center; gap: 0.6rem; min-width: 0; }
    .fi-body .pt-appr-avatar {
        flex: none;
        width: 2rem;
        height: 2rem;
        border-radius: 9999px;
    }
    .fi-body .pt-appr-avatar-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.6rem;
        background: color-mix(in srgb, var(--pt-brand-500) 12%, transparent);
        color: var(--pt-brand-600);
    }
    .dark .fi-body .pt-appr-avatar-icon { color: var(--pt-brand-300); }
    .fi-body .pt-appr-name {
        font-size: 0.85rem;
        font-weight: 600;
        color: var(--pt-ink);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .fi-body .pt-appr-amount {
        margin-top: 0.15rem;
        font-size: 0.8rem;
        font-weight: 700;
        color: var(--pt-ink);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-decide { border-top: 1px solid rgb(0 0 0 / 0.06); padding-top: 0.4rem; }
    .dark .fi-body .pt-decide { border-top-color: rgb(255 255 255 / 0.08); }
    .fi-body .pt-decide__summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        min-height: 44px;
        padding: 0.25rem 0.1rem;
        font-size: 0.75rem;
        font-weight: 600;
        color: #64748b;
        cursor: pointer;
        list-style: none;
        user-select: none;
    }
    .dark .fi-body .pt-decide__summary { color: #94a3b8; }
    .fi-body .pt-decide__summary::-webkit-details-marker { display: none; }
    .fi-body .pt-decide__summary:hover { color: #b91c1c; }
    .dark .fi-body .pt-decide__summary:hover { color: #fca5a5; }
    .fi-body .pt-decide__chevron { width: 1rem; height: 1rem; flex: none; transition: transform .15s ease; }
    .fi-body .pt-decide[open] .pt-decide__chevron { transform: rotate(180deg); }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .pt-decide__chevron { transition: none; }
    }
    .fi-body .pt-appr-actions { display: inline-flex; align-items: center; gap: 0.45rem; justify-content: flex-end; }
    .fi-body .pt-btn-go {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.25rem;
        padding: 0.35rem 0.85rem;
        border-radius: 0.6rem;
        font-size: 0.78rem;
        font-weight: 600;
        color: #fff;
        background: #16a34a;
        border: 1px solid #16a34a;
        cursor: pointer;
        transition: background-color .15s ease, border-color .15s ease;
    }
    .fi-body .pt-btn-go:hover { background: #15803d; border-color: #15803d; }
    .fi-body .pt-btn-go:focus-visible { outline: none; box-shadow: 0 0 0 2px #4ade80; }
    .fi-body .pt-btn-quiet {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        min-height: 2.25rem;
        padding: 0.35rem 0.75rem;
        border-radius: 0.6rem;
        font-size: 0.78rem;
        font-weight: 600;
        color: var(--pt-ink-soft);
        background: var(--pt-track);
        border: 1px solid transparent;
        cursor: pointer;
        transition: background-color .15s ease, color .15s ease;
    }
    .fi-body .pt-btn-quiet:hover { color: var(--pt-ink); background: color-mix(in srgb, var(--pt-ink-soft) 14%, transparent); }
    .fi-body .pt-btn-quiet:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500); }
    .fi-body .pt-btn-blocked {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.25rem;
        padding: 0.35rem 0.85rem;
        border-radius: 0.6rem;
        font-size: 0.78rem;
        font-weight: 600;
        cursor: not-allowed;
        background: rgba(var(--gray-500), .12);
        color: rgb(var(--gray-500));
        border: 1px dashed rgba(var(--gray-500), .35);
    }
    .dark .fi-body .pt-btn-blocked { background: rgba(255, 255, 255, .06); color: rgb(var(--gray-400)); border-color: rgba(255, 255, 255, .18); }
    @media (max-width: 1023.98px) {
        .fi-body .pt-btn-go,
        .fi-body .pt-btn-quiet,
        .fi-body .pt-btn-blocked,
        .fi-body .pt-appr-chip { min-height: 2.75rem; }
    }
    .fi-body .pt-gate-note { margin-top: .35rem; font-size: .72rem; line-height: 1.5; color: rgb(var(--gray-500)); }
    .dark .fi-body .pt-gate-note { color: rgb(var(--gray-400)); }
    .fi-body .pt-convo-link {
        display: inline-flex;
        align-items: center;
        flex-wrap: wrap;
        gap: .3rem;
        min-height: 44px;
        font-size: .72rem;
        font-weight: 600;
        color: rgb(var(--gray-500));
    }
    .dark .fi-body .pt-convo-link { color: rgb(var(--gray-400)); }
    .fi-body .pt-convo-link:hover { color: rgb(var(--primary-600)); }
    .fi-body .pt-convo-count { color: rgb(var(--gray-700)); }
    .dark .fi-body .pt-convo-count { color: rgb(var(--gray-200)); }
    .fi-body .pt-convo-open { color: rgb(var(--warning-600)); }
    .dark .fi-body .pt-convo-open { color: rgb(var(--warning-400)); }
    .fi-body .pt-convo-sep { opacity: .5; }
    .fi-body .pt-convo-go { color: rgb(var(--primary-600)); }
    .dark .fi-body .pt-convo-go { color: rgb(var(--primary-400)); }
    .fi-body .pt-appr-drawer {
        display: flex;
        flex-direction: column;
        gap: 0.7rem;
        padding: 0.85rem 1rem;
        border-radius: 0.85rem;
        background: color-mix(in srgb, var(--pt-track) 55%, transparent);
    }
    .fi-body .pt-appr-lines { display: flex; flex-direction: column; gap: 0.35rem; }
    .fi-body .pt-appr-lines > li {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 1rem;
        padding-bottom: 0.35rem;
        border-bottom: 1px solid var(--pt-track);
    }
    .fi-body .pt-appr-lines > li:last-child { border-bottom: 0; padding-bottom: 0; }
    .fi-body .pt-appr-line-desc { font-size: 0.95rem; line-height: 1.45; color: var(--pt-ink-soft); min-width: 0; overflow-wrap: break-word; }
    .fi-body .pt-appr-line-hours { flex: none; font-size: 0.9rem; font-weight: 600; color: var(--pt-ink); font-variant-numeric: tabular-nums; }
    .fi-body .pt-appr-decide {
        display: flex;
        align-items: flex-end;
        gap: 0.75rem;
        flex-wrap: wrap;
    }
    .fi-body .pt-appr-field { display: flex; flex-direction: column; gap: 0.3rem; flex: 1 1 20rem; min-width: 0; }
    .fi-body .pt-appr-field-label {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        font-size: 0.72rem;
        font-weight: 600;
        color: var(--pt-ink-soft);
    }
    .fi-body .pt-appr-req {
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--pt-amber-600);
    }
    .dark .fi-body .pt-appr-req { color: var(--pt-amber-300); }
    .fi-body .pt-appr-input {
        width: 100%;
        padding: 0.5rem 0.7rem;
        border-radius: 0.6rem;
        border: 1px solid var(--pt-border);
        background: var(--pt-surface);
        color: var(--pt-ink);
        font-size: 0.925rem;
    }
    .fi-body .pt-appr-input::placeholder { color: var(--pt-ink-faint); }
    .fi-body .pt-appr-input:focus {
        outline: none;
        border-color: var(--pt-brand-500);
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--pt-brand-500) 30%, transparent);
    }
    .fi-body .pt-appr-decide .pt-btn-danger { flex: none; padding: 0.5rem 0.9rem; }
    .fi-body .pt-appr-fields {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem 1.25rem;
        margin: 0;
    }
    @media (min-width: 1280px) {
        .fi-body .pt-appr-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    .fi-body .pt-appr-f { display: flex; flex-direction: column; gap: 0.12rem; min-width: 0; }
    .fi-body .pt-appr-f-wide { grid-column: 1 / -1; }
    .fi-body .pt-appr-f-label {
        font-size: 0.65rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: var(--pt-ink-faint);
    }
    .fi-body .pt-appr-f-val {
        font-size: 0.9rem;
        line-height: 1.45;
        color: var(--pt-ink);
        overflow-wrap: anywhere;
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-appr-card,
    .fi-body .pt-qcard,
    .fi-body .pt-row,
    .fi-body .pt-row-sub,
    .fi-body .pt-cell-type,
    .fi-body .pt-cell-sub { font-variant-numeric: tabular-nums; }
    .fi-body .pt-pagination { margin-top: 1rem; }
    .fi-body .pt-pagination nav[role="navigation"] { font-variant-numeric: tabular-nums; }
    .fi-body .pt-pagination nav[role="navigation"] button,
    .fi-body .pt-pagination nav[role="navigation"] [aria-current] > span,
    .fi-body .pt-pagination nav[role="navigation"] [aria-disabled="true"] > span {
        min-height: 2.75rem;
        min-width: 2.75rem;
        justify-content: center;
    }
    .fi-body .pt-pagination nav[role="navigation"] button:focus-visible { position: relative; z-index: 1; }
    .fi-body .pt-cal-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
        align-items: start;
    }
    @media (min-width: 1280px) {
        .fi-body .pt-cal-layout { grid-template-columns: minmax(0, 2.15fr) minmax(19rem, 1fr); }
    }
    .fi-body .pt-cal-rail { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
    .fi-body .pt-cal-nav {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        margin-top: 1rem;
        padding: 0.25rem;
        border-radius: 0.75rem;
        background: rgba(255,255,255,0.10);
        border: 1px solid rgba(255,255,255,0.16);
        position: relative;
        z-index: 1;
    }
    .fi-body .pt-cal-navbtn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 0.55rem;
        color: #fff;
        cursor: pointer;
        transition: background-color .15s ease;
    }
    .fi-body .pt-cal-navbtn:hover { background: rgba(255,255,255,0.16); }
    .fi-body .pt-cal-navbtn:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(255,255,255,0.7); }
    .fi-body .pt-cal-navlabel {
        min-width: 5.5rem;
        text-align: center;
        font-size: 0.9rem;
        font-weight: 700;
        letter-spacing: 0.01em;
        font-variant-numeric: tabular-nums;
        color: #fff;
    }
    .fi-body .pt-cal {
        border: 1px solid var(--pt-border);
        border-radius: 1.1rem;
        background: var(--pt-surface);
        padding: 0.9rem;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    }
    .fi-body .pt-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.4rem; }
    .fi-body .pt-cal-dow { padding: 0 0.15rem 0.5rem; }
    .fi-body .pt-cal-dow > span {
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--pt-ink-faint);
        text-align: center;
    }
    .fi-body .pt-cal-pad { aspect-ratio: 1 / 1; }
    .fi-body .pt-cal-day {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.3rem;
        min-height: 5.5rem;
        padding: 0.5rem 0.55rem;
        border-radius: 0.75rem;
        border: 1px solid var(--pt-border);
        background: var(--pt-surface);
        color: var(--pt-ink);
        text-align: left;
        cursor: pointer;
        transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease, background-color .15s ease;
    }
    .fi-body .pt-cal-day:hover {
        border-color: var(--pt-brand-300);
        box-shadow: 0 8px 20px -14px rgba(12, 54, 165, 0.4);
        transform: translateY(-1px);
    }
    .fi-body .pt-cal-day:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500); }
    .fi-body .pt-cal-num {
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1;
        color: var(--pt-ink);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-cal-todaymark {
        align-self: flex-start;
        margin-top: -0.05rem;
        font-size: 0.6rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--pt-brand-600);
    }
    .dark .fi-body .pt-cal-todaymark { color: var(--pt-brand-300); }
    .fi-body .pt-cal-meta {
        margin-top: auto;
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
        min-width: 0;
    }
    .fi-body .pt-cal-tag {
        display: flex;
        align-items: flex-start;
        gap: 0.25rem;
        min-width: 0;
        font-size: 0.7rem;
        font-weight: 600;
        line-height: 1.25;
        color: var(--pt-ink-soft);
        white-space: normal;
        overflow-wrap: break-word;
    }
    .fi-body .pt-cal-dot {
        flex: none;
        width: 0.5rem;
        height: 0.5rem;
        margin-top: 0.22rem;
        border-radius: 9999px;
        background: var(--pt-cal-dot, var(--pt-ink-faint));
    }
    .fi-body .pt-cal-dot.is-hollow {
        background: transparent;
        border: 1.5px solid var(--pt-cal-dot, var(--pt-ink-faint));
    }
    .fi-body .pt-cal-day.is-present { background: color-mix(in srgb, #16a34a 9%, var(--pt-surface)); border-color: color-mix(in srgb, #16a34a 28%, var(--pt-border)); }
    .fi-body .pt-cal-day.is-wfh     { background: color-mix(in srgb, #0ea5e9 9%, var(--pt-surface)); border-color: color-mix(in srgb, #0ea5e9 28%, var(--pt-border)); }
    .fi-body .pt-cal-day.is-half    { background: color-mix(in srgb, #d97706 10%, var(--pt-surface)); border-color: color-mix(in srgb, #d97706 28%, var(--pt-border)); }
    .fi-body .pt-cal-day.is-absent  { background: color-mix(in srgb, #dc2626 10%, var(--pt-surface)); border-color: color-mix(in srgb, #dc2626 30%, var(--pt-border)); }
    .fi-body .pt-cal-day.is-leave   { background: color-mix(in srgb, #6366f1 10%, var(--pt-surface)); border-color: color-mix(in srgb, #6366f1 30%, var(--pt-border)); }
    .fi-body .pt-cal-day.is-holiday { background: color-mix(in srgb, #a855f7 10%, var(--pt-surface)); border-color: color-mix(in srgb, #a855f7 30%, var(--pt-border)); }
    .fi-body .pt-cal-day.is-missed  { background: color-mix(in srgb, #f97316 10%, var(--pt-surface)); border-color: color-mix(in srgb, #f97316 30%, var(--pt-border)); }
    .fi-body .pt-cal-day.is-off     { background: color-mix(in srgb, #9ca3af 12%, var(--pt-surface)); border-color: var(--pt-border); }
    .fi-body .pt-cal-day.is-off .pt-cal-num { color: var(--pt-ink-soft); }
    .fi-body .pt-cal-day.is-today { border-color: var(--pt-brand-500); box-shadow: inset 0 0 0 1px var(--pt-brand-500); }
    .fi-body .pt-cal-day.is-selected {
        background: linear-gradient(135deg, var(--pt-brand-600), var(--pt-brand-500));
        border-color: var(--pt-brand-600);
        color: #fff;
    }
    .fi-body .pt-cal-day.is-selected .pt-cal-num,
    .fi-body .pt-cal-day.is-selected .pt-cal-tag,
    .fi-body .pt-cal-day.is-selected .pt-cal-todaymark { color: #fff; }
    .fi-body .pt-cal-day.is-selected .pt-cal-dot { background: rgba(255,255,255,0.9); }
    .fi-body .pt-cal-day.is-selected .pt-cal-dot.is-hollow { background: transparent; border-color: rgba(255,255,255,0.9); }
    .fi-body .pt-cal-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem 1rem;
        margin-top: 0.85rem;
        padding-top: 0.75rem;
        border-top: 1px solid var(--pt-border);
    }
    .fi-body .pt-cal-legitem {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        font-size: 0.78rem;
        font-weight: 500;
        color: var(--pt-ink-soft);
    }
    .fi-body .pt-cal-daynotes { display: flex; flex-direction: column; gap: 0.35rem; }
    .fi-body .pt-cal-daynotes p {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.9rem;
        font-weight: 500;
        color: var(--pt-ink-soft);
    }
    @media (min-width: 1024px) and (max-width: 1279px) {
        .fi-body .pt-cal-day { min-height: 4.9rem; }
    }
    .fi-body .pt-asset-ack {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        padding: 0.4rem 0.85rem;
        border-radius: 0.6rem;
        font-size: 0.8rem;
        font-weight: 600;
        color: #fff;
        background: var(--pt-brand-600);
        border: 1px solid var(--pt-brand-600);
        cursor: pointer;
        text-decoration: none;
        transition: background-color .15s ease, border-color .15s ease;
    }
    .fi-body a.pt-asset-ack:hover { color: #fff; }
    .fi-body .pt-asset-ack:hover { background: var(--pt-brand-700); border-color: var(--pt-brand-700); }
    .fi-body .pt-asset-ack:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500); }
    .fi-body a.pt-ann-card { text-decoration: none; color: inherit; position: relative; }
    .fi-body .pt-ann-card-pinned {
        border-color: color-mix(in srgb, var(--pt-brand-500) 35%, var(--pt-border));
        box-shadow: inset 3px 0 0 0 var(--pt-brand-500), 0 1px 2px rgba(16, 24, 40, 0.04);
    }
    .fi-body .pt-ann-meta {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.78rem;
        font-weight: 600;
        color: var(--pt-ink-faint);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-ann-meta .pt-ann-dot { color: color-mix(in srgb, var(--pt-ink-faint) 60%, transparent); }
    .fi-body .pt-ann-excerpt {
        font-size: 0.9rem;
        line-height: 1.55;
        color: var(--pt-ink-soft);
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .fi-body .pt-ann-more {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        font-size: 0.78rem;
        font-weight: 600;
        color: var(--pt-brand-600);
    }
    .dark .fi-body .pt-ann-more { color: var(--pt-brand-300); }
    .fi-body .pt-back {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        align-self: flex-start;
        padding: 0.4rem 0.75rem 0.4rem 0.5rem;
        border-radius: 0.6rem;
        font-size: 0.8rem;
        font-weight: 600;
        color: var(--pt-ink-soft);
        background: var(--pt-track);
        border: 1px solid transparent;
        text-decoration: none;
        transition: background-color .15s ease, color .15s ease;
    }
    .fi-body .pt-back:hover { color: var(--pt-ink); background: color-mix(in srgb, var(--pt-ink-soft) 14%, transparent); }
    .fi-body .pt-back:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500); }
    .fi-body .pt-article {
        background: var(--pt-surface);
        border: 1px solid var(--pt-border);
        border-radius: 1.25rem;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
        overflow: hidden;
    }
    .fi-body .pt-article-head {
        padding: 1.6rem 1.9rem 1.35rem;
        border-bottom: 1px solid var(--pt-border);
        background: color-mix(in srgb, var(--pt-track) 45%, transparent);
    }
    .fi-body .pt-article-title {
        font-size: clamp(1.5rem, 2vw, 2rem);
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: -0.02em;
        color: var(--pt-ink);
        max-width: 42ch;
    }
    .fi-body .pt-article-meta {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.5rem 0.75rem;
        margin-top: 0.8rem;
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--pt-ink-faint);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-article-meta .pt-ann-dot { color: color-mix(in srgb, var(--pt-ink-faint) 60%, transparent); }
    .fi-body .pt-wrap,
    .fi-body .pt-prose,
    .fi-body .pt-ann-excerpt { overflow-wrap: anywhere; }
    .fi-body .pt-prose {
        padding: 1.6rem 1.9rem 1.9rem;
        max-width: 72ch;
        font-size: 1.0125rem;
        line-height: 1.75;
        color: var(--pt-ink);
    }
    .fi-body .pt-prose strong { font-weight: 700; }
    .fi-body .pt-team-hero { align-items: start; }
    .fi-body .pt-team-id { display: flex; align-items: center; gap: 1rem; min-width: 0; }
    .fi-body .pt-team-hero-avatar {
        flex: none;
        width: 3.75rem;
        height: 3.75rem;
        border-radius: 9999px;
        object-fit: cover;
        border: 2px solid rgba(255, 255, 255, 0.35);
        background: rgba(255, 255, 255, 0.12);
    }
    .fi-body .pt-team-hero-name {
        margin-top: 0.2rem;
        font-size: clamp(1.4rem, 1.9vw, 1.9rem);
        font-weight: 800;
        line-height: 1.1;
        letter-spacing: -0.02em;
        color: #fff;
        overflow-wrap: break-word;
    }
    .fi-body .pt-team-hero-role {
        margin-top: 0.2rem;
        font-size: 0.9rem;
        font-weight: 500;
        color: rgba(255, 255, 255, 0.8);
    }
    .fi-body a.pt-team-shortcut {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        text-decoration: none;
        color: inherit;
    }
    .fi-body .pt-team-shortcut-icon {
        flex: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 0.85rem;
        background: color-mix(in srgb, var(--pt-brand-500) 12%, transparent);
        color: var(--pt-brand-600);
    }
    .dark .fi-body .pt-team-shortcut-icon { color: var(--pt-brand-300); }
    .fi-body button.pt-team-card {
        text-align: left;
        cursor: pointer;
        font: inherit;
        width: 100%;
    }
    .fi-body .pt-team-card-head { display: flex; align-items: center; gap: 0.85rem; min-width: 0; }
    .fi-body .pt-team-avatar {
        flex: none;
        width: 3rem;
        height: 3rem;
        border-radius: 9999px;
        object-fit: cover;
        background: var(--pt-track);
    }
    .fi-body .pt-team-role {
        margin-top: 0.15rem;
        font-size: 0.82rem;
        color: var(--pt-ink-soft);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
    }
    .fi-body .pt-team-card-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        margin-top: auto;
        padding-top: 0.85rem;
        border-top: 1px solid var(--pt-track);
    }
    .fi-body .pt-team-tags { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; min-width: 0; }
    .fi-body .pt-team-card:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500); }
    .fi-body .pt-hero-cta { position: relative; z-index: 1; margin-top: 1rem; }
    .fi-body .pt-inbox {
        display: flex;
        flex-direction: column;
        background: var(--pt-surface);
        border: 1px solid var(--pt-border);
        border-radius: 1.1rem;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
        overflow: hidden;
    }
    .fi-body .pt-note {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: start;
        gap: 0.95rem;
        width: 100%;
        padding: 1rem 1.25rem;
        text-align: left;
        background: transparent;
        border: 0;
        border-bottom: 1px solid var(--pt-border);
        cursor: pointer;
        transition: background-color .15s ease;
    }
    .fi-body .pt-inbox .pt-note:last-child { border-bottom: 0; }
    .fi-body .pt-note:hover { background: color-mix(in srgb, var(--pt-brand-500) 5%, transparent); }
    .fi-body .pt-note:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--pt-brand-500); }
    .fi-body .pt-note-unread {
        background: color-mix(in srgb, var(--pt-brand-500) 6%, transparent);
        box-shadow: inset 3px 0 0 0 var(--pt-brand-500);
    }
    .fi-body .pt-note-unread:hover { background: color-mix(in srgb, var(--pt-brand-500) 10%, transparent); }
    .fi-body .pt-note-icon {
        flex: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.4rem;
        height: 2.4rem;
        border-radius: 0.75rem;
        background: var(--pt-track);
        color: var(--pt-ink-faint);
    }
    .fi-body .pt-note-unread .pt-note-icon {
        background: color-mix(in srgb, var(--pt-brand-500) 14%, transparent);
        color: var(--pt-brand-600);
    }
    .dark .fi-body .pt-note-unread .pt-note-icon { color: var(--pt-brand-300); }
    .fi-body .pt-note-body { min-width: 0; }
    .fi-body .pt-note-title {
        font-size: 0.95rem;
        font-weight: 600;
        line-height: 1.35;
        color: var(--pt-ink);
        overflow-wrap: break-word;
    }
    .fi-body .pt-note-unread .pt-note-title { font-weight: 700; }
    .fi-body .pt-note-excerpt {
        margin-top: 0.2rem;
        font-size: 0.9rem;
        line-height: 1.5;
        color: var(--pt-ink-soft);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .fi-body .pt-note-aside {
        flex: none;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 0.4rem;
        padding-top: 0.1rem;
    }
    .fi-body .pt-note-time {
        font-size: 0.78rem;
        font-weight: 600;
        color: var(--pt-ink-faint);
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-note-dot {
        width: 0.55rem;
        height: 0.55rem;
        border-radius: 9999px;
        background: var(--pt-brand-500);
    }
    @media (min-width: 1024px) {
        .fi-body .pt-profile-detail .fi-section {
            border-radius: 1.1rem;
            border: 1px solid var(--pt-border);
            background: var(--pt-surface);
            box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
        }
        .fi-body .pt-profile-detail .fi-section-header { display: none; }
        .fi-body .pt-profile-detail .fi-in-entry-wrp-label { font-size: 0.75rem; color: var(--pt-ink-soft); }
        .fi-body .pt-profile-detail .fi-in-text-item { font-size: 0.95rem; color: var(--pt-ink); }
    }
    @media (min-width: 1024px) {
        .fi-body .pt-security-grid {
            max-width: 64rem;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1rem 1.5rem;
            align-items: start;
        }
        .fi-body .pt-security-grid > * + * { margin-top: 0; }
        .fi-body .pt-security-grid .pt-security-item { min-width: 0; order: 3; }
        .fi-body .pt-security-grid .pt-security-password { order: 1; }
        .fi-body .pt-security-grid .pt-security-identity { order: 2; }
    }
    .fi-body .pt-tl-wrap { margin-top: 0.6rem; border-top: 1px solid #f1f1f4; padding-top: 0.5rem; }
    .dark .fi-body .pt-tl-wrap { border-top-color: rgba(255,255,255,0.08); }
    .fi-body .pt-tl-summary {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        min-height: 2.75rem;
        margin-block: -0.375rem;
        cursor: pointer;
        list-style: none;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        color: #71717a;
        user-select: none;
    }
    .fi-body .pt-tl-summary::-webkit-details-marker { display: none; }
    .fi-body .pt-tl-summary:hover { color: #3f3f46; }
    .fi-body .pt-tl-summary:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500); border-radius: 0.4rem; }
    .dark .fi-body .pt-tl-summary { color: #a1a1aa; }
    .dark .fi-body .pt-tl-summary:hover { color: #e4e4e7; }
    .fi-body .pt-tl-count {
        min-width: 1.15rem;
        padding: 0 0.3rem;
        border-radius: 9999px;
        background: #f4f4f5;
        color: #52525b;
        font-size: 0.62rem;
        font-weight: 700;
        text-align: center;
        font-variant-numeric: tabular-nums;
    }
    .dark .fi-body .pt-tl-count { background: rgba(255,255,255,0.08); color: #d4d4d8; }
    .fi-body .pt-tl-chev { color: #a1a1aa; transition: transform .18s ease; }
    .fi-body details[open] .pt-tl-chev { transform: rotate(180deg); }
    .fi-body .pt-tl { list-style: none; margin: 0.55rem 0 0; padding: 0; display: flex; flex-direction: column; }
    .fi-body .pt-tl-item { position: relative; padding: 0 0 0.8rem 1.4rem; }
    .fi-body .pt-tl-item:last-child { padding-bottom: 0; }
    .fi-body .pt-tl-item::before {
        content: "";
        position: absolute;
        left: 0.31rem;
        top: 1.05rem;
        bottom: -0.1rem;
        width: 2px;
        background: #e4e4e7;
    }
    .fi-body .pt-tl-item:last-child::before { display: none; }
    .dark .fi-body .pt-tl-item::before { background: rgba(255,255,255,0.12); }
    .fi-body .pt-tl-dot {
        position: absolute;
        left: 0;
        top: 0.3rem;
        width: 0.72rem;
        height: 0.72rem;
        border-radius: 9999px;
        background: #a1a1aa;
        box-shadow: 0 0 0 3px #fff;
    }
    .dark .fi-body .pt-tl-dot { box-shadow: 0 0 0 3px #18181b; }
    .fi-body .pt-tl-dot.is-approve { background: #16a34a; }
    .fi-body .pt-tl-dot.is-reject  { background: #dc2626; }
    .fi-body .pt-tl-dot.is-info    { background: #d97706; }
    .fi-body .pt-tl-dot.is-submit  { background: var(--pt-brand-600, #0c36a5); }
    .fi-body .pt-taplink { display: inline-flex; align-items: center; min-height: 44px; }
    .fi-body .pt-quickgrid { display: grid; grid-template-columns: 1fr; gap: 0.5rem; }
    @media (min-width: 360px) {
        .fi-body .pt-quickgrid { grid-template-columns: 1fr 1fr; }
    }
    .fi-body .pt-quickgrid-full { grid-column: 1 / -1; }
    .fi-body .pt-tl-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.4rem; }
    .fi-body .pt-tl-actor { font-size: 0.82rem; font-weight: 700; color: #18181b; }
    .dark .fi-body .pt-tl-actor { color: #f4f4f5; }
    .fi-body .pt-tl-action { font-size: 0.8rem; font-weight: 500; color: #52525b; }
    .dark .fi-body .pt-tl-action { color: #a1a1aa; }
    .fi-body .pt-tl-stage { font-size: 0.72rem; font-weight: 600; color: #71717a; white-space: nowrap; }
    .fi-body .pt-tl-stage::before { content: '· '; color: #a1a1aa; font-weight: 400; }
    .dark .fi-body .pt-tl-stage { color: #a1a1aa; }
    .fi-body .pt-tl-stage--alert { color: #b91c1c; }
    .dark .fi-body .pt-tl-stage--alert { color: #fca5a5; }
    .fi-body .pt-tl-time {
        margin-left: auto;
        font-size: 0.72rem;
        color: #a1a1aa;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-tl-note {
        margin-top: 0.3rem;
        font-size: 0.8rem;
        line-height: 1.5;
        color: #52525b;
        border-left: 2px solid #d4d4d8;
        padding-left: 0.55rem;
        overflow-wrap: anywhere;
    }
    .dark .fi-body .pt-tl-note { color: #a1a1aa; border-left-color: rgba(255,255,255,0.2); }
    .fi-body .pt-hist-item { transition: background-color 0.15s ease; }
    .fi-body .pt-hist-item:hover {
        background: color-mix(in srgb, var(--pt-brand-500, #3a57c7) 5%, transparent);
    }
    .dark .fi-body .pt-hist-item:hover {
        background: color-mix(in srgb, var(--pt-brand-500, #3a57c7) 12%, transparent);
    }
    .fi-body .pt-lock-takeover { color: #b45309; transition: background-color 0.15s ease, border-color 0.15s ease; }
    .fi-body .pt-lock-takeover:hover { background: rgba(217,119,6,0.2); border-color: rgba(217,119,6,0.6); }
    .fi-body .pt-lock-takeover:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(217,119,6,0.55); }
    .dark .fi-body .pt-lock-takeover { color: #fbbf24; }
    .fi-body .pt-lock-ro { opacity: 0.6; pointer-events: none; user-select: none; }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .pt-hist-item, .fi-body .pt-lock-takeover { transition: none; }
    }
    .fi-body .pt-rowlink { cursor: pointer; transition: background-color .15s ease, border-color .15s ease, transform .06s ease; }
    .fi-body .pt-rowlink:hover { border-color: var(--pt-brand-300, #93a9ea); background: color-mix(in srgb, var(--pt-brand-500, #3a57c7) 5%, #fff); }
    .dark .fi-body .pt-rowlink:hover { background: color-mix(in srgb, var(--pt-brand-500, #3a57c7) 12%, transparent); }
    .fi-body .pt-rowlink:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500, #3a57c7); }
    .fi-body .pt-rowlink:active { transform: scale(0.994); }
    .fi-body .fi-portal-switch { transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
    .fi-body .fi-portal-switch:hover { background: var(--pt-brand-50, #eef2fc); border-color: var(--pt-brand-300, #93a9ea); color: var(--pt-brand-700, #0a2c84); }
    .fi-body .fi-portal-switch:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pt-brand-500, #3a57c7); }
    .dark .fi-body .fi-portal-switch { border-color: color-mix(in srgb, var(--pt-brand-500) 40%, transparent); color: var(--pt-brand-300); }
    .dark .fi-body .fi-portal-switch:hover { background: color-mix(in srgb, var(--pt-brand-500) 14%, transparent); border-color: var(--pt-brand-400); }
    .fi-body .fi-portal-workco {
        display: inline-flex; align-items: center; gap: 0.35rem;
        min-height: 2.25rem; padding: 0 0.5rem 0 0.6rem;
        border: 1px solid var(--pt-brand-200, #bccbf4); border-radius: 9999px;
        color: var(--pt-brand-700, #0a2c84);
        transition: border-color .15s ease, background-color .15s ease;
    }
    .fi-body .fi-portal-workco:hover { background: var(--pt-brand-50, #eef2fc); border-color: var(--pt-brand-300, #93a9ea); }
    .fi-body .fi-portal-workco:focus-within { border-color: var(--pt-brand-500, #3a57c7); box-shadow: 0 0 0 2px var(--pt-brand-500, #3a57c7); }
    .fi-body .fi-portal-workco-label { display: inline-flex; align-items: center; color: inherit; }
    .fi-body .fi-portal-workco-select {
        appearance: none; -webkit-appearance: none;
        background: transparent; border: 0; outline: none; box-shadow: none;
        color: inherit; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.01em;
        min-height: 2.15rem; padding: 0 1.1rem 0 0; max-width: 9rem;
        text-overflow: ellipsis; white-space: nowrap; cursor: pointer;
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%230a2c84'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-position: right 0 center; background-size: 0.85rem;
    }
    .fi-body .fi-portal-workco-select:focus { outline: none; box-shadow: none; }
    .fi-body .fi-portal-workco-go {
        min-height: 1.9rem; padding: 0 0.5rem; border-radius: 9999px;
        border: 1px solid var(--pt-brand-300, #93a9ea); color: inherit;
        font-size: 0.7rem; font-weight: 700;
    }
    @media (max-width: 639.98px) {
        .fi-body .fi-portal-workco { min-height: 2.75rem; padding: 0 0.45rem 0 0.5rem; }
        .fi-body .fi-portal-workco-select { min-height: 2.65rem; max-width: 6rem; }
    }
    .dark .fi-body .fi-portal-workco { border-color: color-mix(in srgb, var(--pt-brand-500) 40%, transparent); color: var(--pt-brand-300); }
    .dark .fi-body .fi-portal-workco:hover { background: color-mix(in srgb, var(--pt-brand-500) 14%, transparent); border-color: var(--pt-brand-400); }
    .dark .fi-body .fi-portal-workco-select {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%2393a9ea'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
    }
    .fi-body .fi-portal-workco-select option { color: #111827; }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .fi-portal-switch,
        .fi-body .fi-portal-workco { transition: none; }
        .fi-body .pt-card, .fi-body .pt-row, .fi-body .pt-btn-danger,
        .fi-body .pt-appr-chip, .fi-body .pt-btn-go, .fi-body .pt-btn-quiet,
        .fi-body .pt-asset-ack, .fi-body .pt-back, .fi-body .pt-note,
        .fi-body .pt-cal-day, .fi-body .pt-cal-navbtn,
        .fi-body .pt-tl-chev, .fi-body .pt-rowlink { transition: none; }
        .fi-body .pt-card:hover, .fi-body .pt-cal-day:hover { transform: none; }
        .fi-body .pt-rowlink:active { transform: none; }
    }
    .fi-sidebar-group-button { min-height: 44px; }
    .fi-sidebar-group-button > .fi-icon-btn { width: 44px; height: 44px; }
    .dwr-review { width: 100%; max-width: 64rem; margin-inline: auto; }
    .dwr-nav {
        display: flex; align-items: center; justify-content: space-between;
        gap: 0.5rem; margin-bottom: 1rem;
        border: 1px solid rgb(var(--gray-200)); border-radius: 0.75rem;
        background: rgb(var(--gray-50)); padding: 0.5rem 0.75rem;
    }
    .dark .dwr-nav { border-color: rgb(var(--gray-700)); background: rgba(var(--gray-800), 0.4); }
    .dwr-nav-count {
        font-size: 0.8125rem; font-weight: 600; font-variant-numeric: tabular-nums;
        color: rgb(var(--gray-600));
    }
    .dark .dwr-nav-count { color: rgb(var(--gray-300)); }
    .dwr-nav-btn {
        display: inline-flex; align-items: center; gap: 0.25rem;
        min-height: 40px; padding-inline: 0.75rem; border-radius: 0.5rem;
        font-size: 0.8125rem; font-weight: 600;
        color: rgb(var(--gray-700)); background: rgb(var(--gray-100));
        border: 1px solid rgb(var(--gray-200)); transition: background .15s;
    }
    .dwr-nav-btn:hover:not([disabled]) { background: rgb(var(--gray-200)); }
    .dark .dwr-nav-btn {
        color: rgb(var(--gray-200)); background: rgba(var(--gray-700), 0.5);
        border-color: rgb(var(--gray-700));
    }
    .dwr-nav-btn[disabled] { opacity: 0.4; cursor: not-allowed; }
    .dwr-grid { display: block; }
    .dwr-rail { margin-top: 1rem; }
    @media (max-width: 1023.98px) {
        .dwr-grid--pinned { padding-bottom: calc(var(--pt-actionbar-h, 8rem) + 1rem + env(safe-area-inset-bottom)); }
    }
    @media (min-width: 1024px) {
        .dwr-grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 19rem;
            gap: 1.5rem;
            align-items: start;
        }
        .dwr-rail { position: sticky; top: 1rem; margin-top: 0; }
        .dwr-grid--pinned { padding-bottom: 0; }
    }
    .dwr-banner {
        display: flex; align-items: flex-start; flex-wrap: wrap; gap: 0.5rem 0.75rem;
        margin-bottom: 1rem; padding: 0.75rem 0.9rem;
        border: 1px solid var(--pt-amber-200); border-radius: 0.85rem;
        background: var(--pt-amber-50);
    }
    .dwr-banner-icon {
        flex: none; display: inline-flex; align-items: center; justify-content: center;
        width: 1.9rem; height: 1.9rem; border-radius: 0.6rem;
        color: var(--pt-amber-600);
        background: color-mix(in srgb, var(--pt-amber-400) 16%, transparent);
    }
    .dwr-banner-body { flex: 1 1 14rem; min-width: 0; }
    .dwr-banner-title { font-size: 0.85rem; font-weight: 700; color: var(--pt-amber-800); }
    .dwr-banner-text { margin-top: 0.15rem; font-size: 0.78rem; line-height: 1.5; color: color-mix(in srgb, var(--pt-amber-800) 82%, transparent); }
    .dwr-banner-next {
        flex: none; align-self: center; white-space: nowrap;
        padding: 0.25rem 0.6rem; border-radius: 9999px;
        font-size: 0.72rem; font-weight: 700; letter-spacing: 0.01em;
        color: #fff; background: var(--pt-amber-600);
    }
    .dark .dwr-banner { border-color: color-mix(in srgb, var(--pt-amber-400) 34%, transparent); background: color-mix(in srgb, var(--pt-amber-400) 10%, transparent); }
    .dark .dwr-banner-title { color: var(--pt-amber-300); }
    .dark .dwr-banner-text { color: color-mix(in srgb, var(--pt-amber-300) 82%, transparent); }
    .dark .dwr-banner-icon { color: var(--pt-amber-300); }
    .dark .dwr-banner-next { color: #1c1200; background: var(--pt-amber-300); }
    .fi-body .dwr-reviewer-badge {
        display: inline-flex; align-items: center; gap: 0.35rem;
        margin-bottom: 0.75rem; padding: 0.3rem 0.65rem;
        border-radius: 9999px; background: #f4f4f5; color: #52525b;
        font-size: 0.75rem; font-weight: 600;
    }
    .dark .fi-body .dwr-reviewer-badge { background: rgba(255,255,255,0.06); color: #a1a1aa; }
    .dwr-thread { margin-top: 0.85rem; display: flex; flex-direction: column; gap: 0.7rem; }
    .dwr-cmt { display: flex; align-items: flex-start; gap: 0.6rem; }
    .dwr-cmt-av { flex: none; width: 2rem; height: 2rem; border-radius: 9999px; object-fit: cover; }
    .dwr-cmt-body {
        flex: 1 1 auto; min-width: 0;
        padding: 0.55rem 0.75rem; border-radius: 0.75rem;
        background: rgb(var(--gray-50)); border: 1px solid rgb(var(--gray-100));
    }
    .dark .dwr-cmt-body { background: rgba(var(--gray-800), 0.4); border-color: rgba(var(--gray-700), 0.6); }
    .dwr-cmt--clar .dwr-cmt-body {
        border-color: var(--pt-amber-200);
        border-left: 3px solid var(--pt-amber-400);
        background: var(--pt-amber-50);
    }
    .dark .dwr-cmt--clar .dwr-cmt-body {
        border-color: color-mix(in srgb, var(--pt-amber-400) 30%, transparent);
        border-left-color: var(--pt-amber-400);
        background: color-mix(in srgb, var(--pt-amber-400) 9%, transparent);
    }
    .dwr-cmt-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.5rem; }
    .dwr-cmt-author { font-size: 0.8125rem; font-weight: 700; color: rgb(var(--gray-800)); }
    .dark .dwr-cmt-author { color: rgb(var(--gray-100)); }
    .dwr-cmt-tag {
        padding: 0.05rem 0.4rem; border-radius: 9999px;
        font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
        color: var(--pt-amber-800); background: color-mix(in srgb, var(--pt-amber-400) 20%, transparent);
    }
    .dark .dwr-cmt-tag { color: var(--pt-amber-300); }
    .dwr-cmt-time { font-size: 0.6875rem; color: rgb(var(--gray-400)); font-variant-numeric: tabular-nums; }
    .dwr-cmt-text { margin-top: 0.2rem; font-size: 0.875rem; line-height: 1.55; color: rgb(var(--gray-700)); overflow-wrap: anywhere; white-space: pre-wrap; }
    .dark .dwr-cmt-text { color: rgb(var(--gray-300)); }
    .dwr-empty { margin-top: 0.6rem; font-size: 0.8125rem; color: rgb(var(--gray-400)); }
    .dwr-composer-hint { font-size: 0.7rem; color: rgb(var(--gray-400)); }
    .dwr-composer-at, .dwr-mention-at { font-weight: 700; color: var(--pt-brand-600); }
    .dark .dwr-composer-at, .dark .dwr-mention-at { color: var(--pt-brand-300); }
    .dwr-mention {
        position: absolute; left: 0; right: 0; top: 100%; z-index: 30;
        margin-top: 0.25rem; max-height: 12rem; overflow-y: auto;
        border: 1px solid rgb(var(--gray-200)); border-radius: 0.6rem;
        background: #fff; box-shadow: 0 10px 25px -8px rgba(16, 24, 40, 0.25); padding: 0.25rem;
    }
    .dark .dwr-mention { background: rgb(var(--gray-800)); border-color: rgb(var(--gray-700)); }
    .dwr-mention-item {
        display: flex; align-items: center; gap: 0.15rem;
        padding: 0.5rem 0.6rem; border-radius: 0.45rem; cursor: pointer;
        font-size: 0.8125rem; color: rgb(var(--gray-700)); min-height: 2.25rem;
    }
    .dark .dwr-mention-item { color: rgb(var(--gray-200)); }
    .dwr-mention-item.is-active { background: color-mix(in srgb, var(--pt-brand-500) 12%, transparent); color: var(--pt-brand-700); }
    .dark .dwr-mention-item.is-active { color: var(--pt-brand-300); }
    .dwr-clar-box { margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px dashed rgb(var(--gray-200)); }
    .dark .dwr-clar-box { border-top-color: rgb(var(--gray-700)); }
    .dwr-clar-label { font-size: 0.8125rem; font-weight: 700; color: var(--pt-amber-800); }
    .dark .dwr-clar-label { color: var(--pt-amber-300); }
    .dwr-clar-note { margin: 0.15rem 0 0.6rem; font-size: 0.72rem; line-height: 1.5; color: rgb(var(--gray-500)); }
    .dark .dwr-clar-note { color: rgb(var(--gray-400)); }
    @media (prefers-reduced-motion: reduce) {
        .dwr-mention-item, .dwr-banner-next { transition: none; }
    }
    .fi-body {
        --ptc-surface: #ffffff;
        --ptc-surface-2: #f6f8fc;
        --ptc-border: #e3e6ee;
        --ptc-ink: #10152b;
        --ptc-ink-soft: #5b6478;
        --ptc-ink-faint: #8b93a7;
        --ptc-track: #eceff5;
        --ptc-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
        --ptc-focus: color-mix(in srgb, var(--pt-brand-500) 40%, transparent);
    }
    .dark .fi-body {
        --ptc-surface: #14161c;
        --ptc-surface-2: rgba(255,255,255,0.04);
        --ptc-border: rgba(255,255,255,0.10);
        --ptc-ink: #f2f4f8;
        --ptc-ink-soft: #a3adbf;
        --ptc-ink-faint: #6b7688;
        --ptc-track: rgba(255,255,255,0.08);
        --ptc-shadow: none;
        --ptc-focus: color-mix(in srgb, var(--pt-brand-400) 55%, transparent);
    }
    .fi-body .ptc-seg {
        position: relative;
        display: flex;
        width: 100%;
        gap: 0.25rem;
        padding: 0.25rem;
        border-radius: 0.85rem;
        background: var(--ptc-surface-2);
        border: 1px solid var(--ptc-border);
        overflow: hidden;
    }
    .fi-body .ptc-seg-btn {
        flex: 1 1 0;
        min-width: 0;
        min-height: 2.75rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        padding: 0.35rem 0.75rem;
        border-radius: 0.6rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--ptc-ink-soft);
        background: transparent;
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: background-color .15s ease, color .15s ease, box-shadow .15s ease, transform .08s ease;
    }
    .fi-body .ptc-seg-btn:hover { color: var(--ptc-ink); background: color-mix(in srgb, var(--pt-brand-500) 7%, transparent); }
    .fi-body .ptc-seg-btn:active { transform: scale(0.97); }
    .fi-body .ptc-seg-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ptc-focus); }
    .fi-body .ptc-seg-btn-on,
    .fi-body .ptc-seg-btn-on:hover {
        color: #fff;
        background: var(--pt-brand-600);
        border-color: var(--pt-brand-700);
        box-shadow: 0 2px 6px -1px color-mix(in srgb, var(--pt-brand-600) 45%, transparent);
    }
    .fi-body .ptc-seg-lbl { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .fi-body .ptc-seg-count {
        flex: none;
        min-width: 1.15rem;
        padding: 0 0.3rem;
        border-radius: 9999px;
        font-size: 0.68rem;
        font-weight: 700;
        line-height: 1.15rem;
        text-align: center;
        font-variant-numeric: tabular-nums;
        background: var(--ptc-track);
        color: var(--ptc-ink-soft);
    }
    .fi-body .ptc-seg-btn-on .ptc-seg-count { background: rgba(255,255,255,0.24); color: #fff; }
    .fi-body .ptc-seg--busy::after,
    .fi-body .ptc-chips--busy::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        pointer-events: none;
        background: linear-gradient(100deg,
            transparent 20%,
            color-mix(in srgb, var(--pt-brand-500) 12%, transparent) 45%,
            transparent 70%);
        background-size: 220% 100%;
        animation: ptc-shimmer 1s linear infinite;
    }
    @keyframes ptc-shimmer { from { background-position: 180% 0; } to { background-position: -80% 0; } }
    .fi-body .ptc-chips {
        position: relative;
        display: flex;
        gap: 0.5rem;
        margin: 0 -0.25rem;
        padding: 0.15rem 0.25rem 0.35rem;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }
    .fi-body .ptc-chips::-webkit-scrollbar { display: none; }
    .fi-body .ptc-chip {
        flex: none;
        scroll-snap-align: start;
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        min-height: 2.25rem;
        padding: 0.4rem 0.85rem;
        border-radius: 9999px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--ptc-ink-soft);
        background: var(--ptc-surface);
        border: 1px solid var(--ptc-border);
        cursor: pointer;
        white-space: nowrap;
        -webkit-tap-highlight-color: transparent;
        transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .08s ease;
    }
    .fi-body .ptc-chip:hover { color: var(--ptc-ink); border-color: var(--pt-brand-300); background: color-mix(in srgb, var(--pt-brand-500) 6%, var(--ptc-surface)); }
    .fi-body .ptc-chip:active { transform: scale(0.96); }
    .fi-body .ptc-chip:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ptc-focus); }
    .fi-body .ptc-chip-on,
    .fi-body .ptc-chip-on:hover {
        color: #fff;
        background: var(--pt-brand-600);
        border-color: var(--pt-brand-600);
    }
    .fi-body .ptc-chip-count {
        min-width: 1.1rem;
        padding: 0 0.3rem;
        border-radius: 9999px;
        font-size: 0.66rem;
        font-weight: 700;
        line-height: 1.1rem;
        text-align: center;
        font-variant-numeric: tabular-nums;
        background: var(--ptc-track);
        color: var(--ptc-ink-soft);
    }
    .fi-body .ptc-chip-on .ptc-chip-count { background: rgba(255,255,255,0.24); color: #fff; }
    @media (max-width: 1023.98px) {
        .fi-body .ptc-chip { min-height: 2.75rem; }
    }
    .fi-body .pt-linkchip {
        display: inline-flex;
        align-items: center;
        min-height: 2.25rem;
        text-decoration: none;
    }
    @media (max-width: 1023.98px) {
        .fi-body .pt-linkchip { min-height: 2.75rem; }
    }
    .fi-body .ptc-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        min-height: 2.75rem;
        padding: 0.5rem 1rem;
        border-radius: 0.7rem;
        font-size: 0.85rem;
        font-weight: 600;
        line-height: 1.1;
        text-align: center;
        cursor: pointer;
        border: 1px solid transparent;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
        transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .08s ease;
    }
    .fi-body .ptc-btn:active { transform: scale(0.98); }
    .fi-body .ptc-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ptc-focus); }
    .fi-body .ptc-btn-ic { width: 1.05rem; height: 1.05rem; flex: none; }
    .fi-body .ptc-btn--md { min-height: 2.75rem; padding: 0.5rem 1rem; font-size: 0.85rem; border-radius: 0.7rem; }
    .fi-body .ptc-btn--sm { min-height: 2.25rem; padding: 0.35rem 0.75rem; font-size: 0.8rem; border-radius: 0.6rem; }
    @media (max-width: 1023.98px) { .fi-body .ptc-btn--sm { min-height: 2.75rem; } }
    .fi-body .ptc-btn--block { width: 100%; }
    .fi-body .ptc-btn--primary { color: #fff; background: var(--pt-brand-600); border-color: var(--pt-brand-700); box-shadow: 0 1px 2px rgba(12,54,165,0.25); }
    .fi-body .ptc-btn--primary:hover { background: var(--pt-brand-700); }
    .fi-body .ptc-btn--secondary { color: var(--ptc-ink); background: var(--ptc-track); border-color: var(--ptc-border); }
    .fi-body .ptc-btn--secondary:hover { background: color-mix(in srgb, var(--ptc-ink-soft) 14%, var(--ptc-track)); }
    .fi-body .ptc-btn--outline { color: var(--ptc-ink); background: var(--ptc-surface); border-color: var(--ptc-border); }
    .fi-body .ptc-btn--outline:hover { border-color: var(--pt-brand-300); color: var(--pt-brand-700); background: color-mix(in srgb, var(--pt-brand-500) 6%, var(--ptc-surface)); }
    .dark .fi-body .ptc-btn--outline:hover { color: var(--pt-brand-300); }
    .fi-body .ptc-btn--danger { color: #b91c1c; background: #fef2f2; border-color: #fecaca; }
    .fi-body .ptc-btn--danger:hover { color: #fff; background: #dc2626; border-color: #dc2626; }
    .fi-body .ptc-btn--danger:focus-visible { box-shadow: 0 0 0 2px #f87171; }
    .dark .fi-body .ptc-btn--danger { color: #fca5a5; background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.30); }
    .dark .fi-body .ptc-btn--danger:hover { color: #fff; background: #dc2626; border-color: #dc2626; }
    .fi-body .ptc-btn--ghost { color: var(--ptc-ink-soft); background: transparent; border-color: transparent; }
    .fi-body .ptc-btn--ghost:hover { color: var(--ptc-ink); background: color-mix(in srgb, var(--ptc-ink-soft) 12%, transparent); }
    .fi-body .ptc-field { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
    .fi-body .ptc-field-label {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: var(--ptc-ink-soft);
    }
    .fi-body .ptc-field-req {
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        color: var(--pt-amber-600);
    }
    .dark .fi-body .ptc-field-req { color: var(--pt-amber-300); }
    .fi-body .ptc-input {
        width: 100%;
        min-height: 2.75rem;
        padding: 0.55rem 0.7rem;
        border-radius: 0.65rem;
        border: 1px solid var(--ptc-border);
        background: var(--ptc-surface);
        color: var(--ptc-ink);
        font-size: 1rem;
        line-height: 1.4;
    }
    .fi-body .ptc-input::placeholder { color: var(--ptc-ink-faint); }
    .fi-body .ptc-input:focus {
        outline: none;
        border-color: var(--pt-brand-500);
        box-shadow: 0 0 0 2px var(--ptc-focus);
    }
    .fi-body .ptc-btn-group { display: flex; flex-direction: column; gap: 0.5rem; }
    .fi-body .ptc-btn-group > .ptc-btn,
    .fi-body .ptc-btn-group > button,
    .fi-body .ptc-btn-group > a { width: 100%; }
    @media (min-width: 640px) {
        .fi-body .ptc-btn-group--stack-sm { flex-direction: row; flex-wrap: wrap; }
        .fi-body .ptc-btn-group--stack-sm > .ptc-btn,
        .fi-body .ptc-btn-group--stack-sm > button,
        .fi-body .ptc-btn-group--stack-sm > a { width: auto; }
    }
    @media (min-width: 768px) {
        .fi-body .ptc-btn-group--stack-md { flex-direction: row; flex-wrap: wrap; }
        .fi-body .ptc-btn-group--stack-md > .ptc-btn,
        .fi-body .ptc-btn-group--stack-md > button,
        .fi-body .ptc-btn-group--stack-md > a { width: auto; }
    }
    .fi-body .ptc-btn-group--start { justify-content: flex-start; }
    .fi-body .ptc-btn-group--end { justify-content: flex-end; }
    .fi-body .ptc-btn-group--between { justify-content: space-between; }
    .fi-body .ptc-stat {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
        padding: 0.9rem 1rem 0.9rem 1.15rem;
        border-radius: 1rem;
        background: var(--ptc-surface);
        border: 1px solid var(--ptc-border);
        box-shadow: var(--ptc-shadow);
        overflow: hidden;
    }
    .fi-body .ptc-stat::before {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 0.28rem;
        background: var(--pt-brand-500);
    }
    .fi-body .ptc-stat--amber::before { background: var(--pt-amber-400); }
    .fi-body .ptc-stat--green::before { background: #16a34a; }
    .fi-body .ptc-stat--red::before   { background: #dc2626; }
    .fi-body .ptc-stat--gray::before  { background: var(--ptc-ink-faint); }
    .fi-body .ptc-stat-label {
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: var(--ptc-ink-soft);
        overflow-wrap: anywhere;
    }
    .fi-body .ptc-stat-figure { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.1rem; }
    .fi-body .ptc-stat-value {
        font-size: clamp(1.6rem, 6vw, 2.1rem);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -0.02em;
        color: var(--ptc-ink);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .ptc-stat-unit { font-size: 0.85rem; font-weight: 600; color: var(--ptc-ink-soft); }
    .fi-body .ptc-stat-caption { margin-top: 0.35rem; font-size: 0.8rem; line-height: 1.45; color: var(--ptc-ink-soft); overflow-wrap: anywhere; }
    .fi-body .ptc-stat-meter { margin-top: 0.7rem; }
    .fi-body .ptc-meter { display: flex; flex-direction: column; gap: 0.3rem; }
    .fi-body .ptc-meter-head {
        display: flex;
        justify-content: space-between;
        font-size: 0.72rem;
        font-weight: 600;
        color: var(--ptc-ink-soft);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .ptc-meter-track {
        position: relative;
        height: 0.5rem;
        border-radius: 9999px;
        background: var(--ptc-track);
        overflow: hidden;
    }
    .fi-body .ptc-meter-fill {
        display: block;
        height: 100%;
        min-width: 0.5rem;
        border-radius: 9999px;
        background: var(--pt-brand-500);
        transition: width .4s ease;
    }
    .fi-body .ptc-meter--amber .ptc-meter-fill { background: var(--pt-amber-400); }
    .fi-body .ptc-meter--green .ptc-meter-fill { background: #16a34a; }
    .fi-body .ptc-meter--red   .ptc-meter-fill { background: #dc2626; }
    .fi-body .ptc-meter--gray  .ptc-meter-fill { background: var(--ptc-ink-faint); }
    .fi-body .ptc-empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.15rem;
        padding: 2rem 1.25rem;
        border-radius: 1rem;
        background: var(--ptc-surface);
        border: 1px solid var(--ptc-border);
        box-shadow: var(--ptc-shadow);
    }
    .fi-body .ptc-empty-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        margin-bottom: 0.6rem;
        border-radius: 9999px;
        color: var(--pt-brand-600);
        background: var(--pt-brand-50);
    }
    .fi-body .ptc-empty--amber .ptc-empty-icon { color: var(--pt-amber-600); background: var(--pt-amber-50); }
    .fi-body .ptc-empty--green .ptc-empty-icon { color: #047857; background: #ecfdf5; }
    .fi-body .ptc-empty--red   .ptc-empty-icon { color: #b91c1c; background: #fef2f2; }
    .fi-body .ptc-empty--gray  .ptc-empty-icon { color: var(--ptc-ink-soft); background: var(--ptc-track); }
    .dark .fi-body .ptc-empty-icon { color: var(--pt-brand-300); background: color-mix(in srgb, var(--pt-brand-500) 16%, transparent); }
    .dark .fi-body .ptc-empty--amber .ptc-empty-icon { color: var(--pt-amber-300); background: color-mix(in srgb, var(--pt-amber-400) 16%, transparent); }
    .fi-body .ptc-empty-title { font-size: 0.925rem; font-weight: 700; color: var(--ptc-ink); }
    .fi-body .ptc-empty-text { margin-top: 0.2rem; max-width: 24rem; font-size: 0.82rem; line-height: 1.5; color: var(--ptc-ink-soft); }
    .fi-body .ptc-empty-cta { margin-top: 0.9rem; }
    .fi-body .ptc-empty--flush {
        padding: 0.9rem 0.5rem 0.6rem;
        background: none;
        border: 0;
        box-shadow: none;
    }
    .fi-body .ptc-empty--flush .ptc-empty-icon { width: 2.25rem; height: 2.25rem; margin-bottom: 0.45rem; }
    .fi-body .ptc-empty--flush .ptc-empty-title { font-size: 0.84rem; }
    .fi-body .ptc-empty--flush .ptc-empty-text { margin-top: 0.15rem; font-size: 0.75rem; }
    .fi-body .ptc-reclist { display: flex; flex-direction: column; gap: 0.65rem; }
    .fi-body .ptc-reccard {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
        padding: 0.85rem 0.95rem;
        border-radius: 0.95rem;
        background: var(--ptc-surface);
        border: 1px solid var(--ptc-border);
        box-shadow: var(--ptc-shadow);
    }
    .fi-body .ptc-reccard-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.6rem; }
    .fi-body .ptc-reccard-titlewrap { min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
    .fi-body .ptc-reccard-title { font-size: 0.9rem; font-weight: 700; color: var(--ptc-ink); overflow-wrap: anywhere; text-decoration: none; }
    .fi-body a.ptc-reccard-title:hover { color: var(--pt-brand-600); text-decoration: underline; }
    .dark .fi-body a.ptc-reccard-title:hover { color: var(--pt-brand-300); }
    .fi-body .ptc-reccard-sub { font-size: 0.76rem; color: var(--ptc-ink-soft); overflow-wrap: anywhere; }
    .fi-body .ptc-reccard-badges { flex: none; display: flex; flex-wrap: wrap; gap: 0.3rem; justify-content: flex-end; }
    .fi-body .ptc-reccard-meta { display: flex; flex-direction: column; gap: 0.3rem; margin: 0; }
    .fi-body .ptc-meta-row { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; }
    .fi-body .ptc-meta-label {
        flex: none;
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        color: var(--ptc-ink-faint);
    }
    .fi-body .ptc-meta-val { min-width: 0; text-align: right; font-size: 0.82rem; font-weight: 500; color: var(--ptc-ink); overflow-wrap: anywhere; }
    .fi-body .ptc-meta-row--lead {
        align-items: baseline;
        margin-top: 0.2rem;
        padding-top: 0.4rem;
        border-top: 1px solid var(--ptc-border);
    }
    .fi-body .ptc-meta-row--lead .ptc-meta-label { color: var(--ptc-ink-soft); }
    .fi-body .ptc-meta-row--lead .ptc-meta-val {
        font-size: 1.05rem;
        font-weight: 800;
        letter-spacing: -0.01em;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .fi-body .ptc-reccard-action { display: flex; flex-wrap: wrap; gap: 0.5rem; }
    @media (min-width: 640px) and (max-width: 1023.98px) {
        .fi-body .ptc-reccard-meta {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            column-gap: 1.75rem;
        }
        .fi-body .ptc-reccard-meta .ptc-meta-row--lead { grid-column: 1 / -1; }
    }
    .fi-body .ptc-notif {
        position: relative;
        display: flex;
        align-items: flex-start;
        gap: 0.7rem;
        width: 100%;
        min-height: 2.75rem;
        padding: 0.75rem 0.85rem;
        text-align: left;
        text-decoration: none;
        background: var(--ptc-surface);
        border: 1px solid var(--ptc-border);
        border-radius: 0.85rem;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: background-color .15s ease, border-color .15s ease;
    }
    .fi-body .ptc-notif:hover { background: color-mix(in srgb, var(--pt-brand-500) 4%, var(--ptc-surface)); border-color: var(--pt-brand-200); }
    .fi-body .ptc-notif:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ptc-focus); }
    .fi-body .ptc-notif.is-unread { border-color: color-mix(in srgb, var(--pt-brand-500) 35%, var(--ptc-border)); background: color-mix(in srgb, var(--pt-brand-500) 5%, var(--ptc-surface)); }
    .dark .fi-body .ptc-notif.is-unread { background: color-mix(in srgb, var(--pt-brand-500) 12%, transparent); }
    .fi-body .ptc-notif-icon {
        flex: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.1rem;
        height: 2.1rem;
        border-radius: 0.6rem;
    }
    .fi-body .ptc-notif--brand .ptc-notif-icon { color: var(--pt-brand-600); background: var(--pt-brand-50); }
    .fi-body .ptc-notif--green .ptc-notif-icon { color: #047857; background: #ecfdf5; }
    .fi-body .ptc-notif--red   .ptc-notif-icon { color: #b91c1c; background: #fef2f2; }
    .fi-body .ptc-notif--amber .ptc-notif-icon { color: var(--pt-amber-600); background: var(--pt-amber-50); }
    .fi-body .ptc-notif--gray  .ptc-notif-icon { color: var(--ptc-ink-soft); background: var(--ptc-track); }
    .dark .fi-body .ptc-notif--brand .ptc-notif-icon { color: var(--pt-brand-300); background: color-mix(in srgb, var(--pt-brand-500) 18%, transparent); }
    .dark .fi-body .ptc-notif--green .ptc-notif-icon { color: #6ee7b7; background: rgba(16,185,129,0.16); }
    .dark .fi-body .ptc-notif--red   .ptc-notif-icon { color: #fca5a5; background: rgba(239,68,68,0.16); }
    .dark .fi-body .ptc-notif--amber .ptc-notif-icon { color: var(--pt-amber-300); background: color-mix(in srgb, var(--pt-amber-400) 18%, transparent); }
    .fi-body .ptc-notif-body { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: 0.1rem; }
    .fi-body .ptc-notif-title { font-size: 0.85rem; font-weight: 600; color: var(--ptc-ink); overflow-wrap: anywhere; }
    .fi-body .ptc-notif.is-unread .ptc-notif-title { font-weight: 700; }
    .fi-body .ptc-notif-text {
        font-size: 0.78rem;
        line-height: 1.45;
        color: var(--ptc-ink-soft);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .fi-body .ptc-notif-time { margin-top: 0.15rem; font-size: 0.7rem; color: var(--ptc-ink-faint); font-variant-numeric: tabular-nums; }
    .fi-body .ptc-notif-dot { position: absolute; top: 0.6rem; right: 0.6rem; width: 0.5rem; height: 0.5rem; border-radius: 9999px; background: var(--pt-brand-600); }
    .dark .fi-body .ptc-notif-dot { background: var(--pt-brand-300); }
    .fi-body .ptc-notif-chev { flex: none; width: 1rem; height: 1rem; margin-top: 0.15rem; color: var(--ptc-ink-faint); }
    .fi-body .ptc-notif-list { display: flex; flex-direction: column; gap: 0.5rem; }
    .fi-body .ptc-notif-group { margin: 1rem 0 0.15rem; padding: 0 0.15rem; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.045em; color: var(--ptc-ink-faint); }
    .fi-body .ptc-notif-group:first-child { margin-top: 0; }
    .fi-body .ptc-noalloc {
        display: flex; flex-direction: column; gap: 0.4rem;
        padding: 0.7rem 0.85rem;
        border-radius: 0.85rem;
        background: var(--ptc-track);
        border: 1px dashed var(--ptc-border);
    }
    .fi-body .ptc-noalloc-label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.045em; color: var(--ptc-ink-faint); }
    .fi-body .ptc-noalloc-list { display: flex; flex-direction: column; gap: 0.3rem; margin: 0; padding: 0; list-style: none; }
    .fi-body .ptc-noalloc-item { display: flex; align-items: baseline; justify-content: space-between; gap: 0.9rem; }
    .fi-body .ptc-noalloc-name { font-size: 0.82rem; font-weight: 600; color: var(--ptc-ink); }
    .fi-body .ptc-noalloc-note { flex: none; font-size: 0.72rem; color: var(--ptc-ink-soft); text-align: right; }
    .fi-body .ptc-reason {
        display: flex; align-items: flex-start; gap: 0.5rem;
        margin-top: 0.7rem;
        padding: 0.6rem 0.75rem;
        border-radius: 0.7rem;
        background: #fef2f2;
        border: 1px solid #fecaca;
        border-left: 3px solid #dc2626;
    }
    .dark .fi-body .ptc-reason { background: rgba(239,68,68,0.10); border-color: rgba(239,68,68,0.28); border-left-color: #ef4444; }
    .fi-body .ptc-reason-icon { flex: none; width: 1rem; height: 1rem; margin-top: 0.1rem; color: #dc2626; }
    .dark .fi-body .ptc-reason-icon { color: #fca5a5; }
    .fi-body .ptc-reason-body { min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
    .fi-body .ptc-reason-label { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #b91c1c; }
    .dark .fi-body .ptc-reason-label { color: #fca5a5; }
    .fi-body .ptc-reason-text { font-size: 0.82rem; line-height: 1.45; color: var(--ptc-ink); overflow-wrap: anywhere; }
    .fi-body .ptc-filterbtn {
        display: inline-flex; align-items: center; gap: 0.4rem;
        min-height: 2.75rem; padding: 0.4rem 0.9rem;
        border-radius: 9999px;
        font-size: 0.8rem; font-weight: 600;
        color: var(--ptc-ink); background: var(--ptc-surface);
        border: 1px solid var(--ptc-border);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: background-color .15s ease, border-color .15s ease;
    }
    .fi-body .ptc-filterbtn:hover { border-color: var(--pt-brand-300); background: color-mix(in srgb, var(--pt-brand-500) 6%, var(--ptc-surface)); }
    .fi-body .ptc-filterbtn:active { transform: scale(0.97); }
    .fi-body .ptc-filterbtn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--ptc-focus); }
    .fi-body .ptc-filterbtn.is-on { border-color: var(--pt-brand-400); color: var(--pt-brand-700); background: color-mix(in srgb, var(--pt-brand-500) 9%, var(--ptc-surface)); }
    .dark .fi-body .ptc-filterbtn.is-on { color: var(--pt-brand-300); }
    .fi-body .ptc-filterbtn-ic { width: 1.05rem; height: 1.05rem; flex: none; }
    .fi-body .ptc-filterbtn-dot { width: 0.45rem; height: 0.45rem; border-radius: 9999px; background: var(--pt-brand-600); flex: none; }
    .dark .fi-body .ptc-filterbtn-dot { background: var(--pt-brand-300); }
    @media (min-width: 1024px) { .fi-body .ptc-filterbtn { min-height: 2.4rem; } }
    .fi-body .ptc-sheet-backdrop { position: fixed; inset: 0; z-index: 60; background: rgba(15,23,42,0.42); }
    .fi-body .pt-sheet-panel { overscroll-behavior: contain; }
    .fi-body .ptc-sheet {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 61;
        max-height: 80vh; overflow-y: auto; overscroll-behavior: contain;
        padding: 1rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom, 0px));
        background: var(--ptc-surface);
        border-top-left-radius: 1.25rem; border-top-right-radius: 1.25rem;
        box-shadow: 0 -8px 30px rgba(15,23,42,0.18);
    }
    .fi-body .ptc-sheet-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.85rem; }
    .fi-body .ptc-sheet-title { font-size: 0.95rem; font-weight: 700; color: var(--ptc-ink); }
    .fi-body .ptc-sheet-close {
        display: inline-flex; align-items: center; justify-content: center;
        width: 2rem; height: 2rem; border-radius: 9999px;
        color: var(--ptc-ink-soft); background: var(--ptc-track); border: none; cursor: pointer;
    }
    .fi-body .ptc-sheet-close:hover { color: var(--ptc-ink); }
    .fi-body .ptc-sheet-body { display: flex; flex-direction: column; gap: 0.95rem; }
    .fi-body .ptc-sheet-group { display: flex; flex-direction: column; gap: 0.45rem; }
    .fi-body .ptc-sheet-glabel { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.045em; color: var(--ptc-ink-faint); }
    .fi-body .ptc-pop-wrap { position: relative; }
    .fi-body .ptc-pop {
        position: absolute; top: calc(100% + 0.5rem); left: 0; z-index: 40;
        width: min(24rem, 90vw);
        padding: 0.95rem 1rem;
        background: var(--ptc-surface);
        border: 1px solid var(--ptc-border);
        border-radius: 0.9rem;
        box-shadow: 0 12px 34px rgba(15,23,42,0.16);
    }
    .fi-body .ptc-confirm { position: fixed; inset: 0; z-index: 90; }
    .fi-body .ptc-confirm-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,0.48); }
    .dark .fi-body .ptc-confirm-backdrop { background: rgba(2,6,16,0.64); }
    .fi-body .ptc-confirm-panel {
        position: absolute; left: 0; right: 0; bottom: 0;
        background: var(--ptc-surface);
        border-top: 1px solid var(--ptc-border);
        border-top-left-radius: 1.25rem; border-top-right-radius: 1.25rem;
        padding: 0.9rem 1.15rem calc(1.15rem + env(safe-area-inset-bottom, 0px));
        box-shadow: 0 -10px 34px rgba(15,23,42,0.22);
        animation: ptcConfirmSheetIn 0.22s cubic-bezier(0.2,0.8,0.2,1);
    }
    .fi-body .ptc-confirm-grip {
        width: 2.25rem; height: 0.25rem; border-radius: 9999px;
        background: var(--ptc-border); margin: 0 auto 0.85rem;
    }
    .fi-body .ptc-confirm-title { font-size: 1rem; font-weight: 700; color: var(--ptc-ink); margin: 0 0 0.3rem; }
    .fi-body .ptc-confirm-msg { font-size: 0.9rem; line-height: 1.5; color: var(--ptc-ink-soft); margin: 0 0 1rem; }
    .fi-body .ptc-confirm-actions { display: flex; flex-direction: column-reverse; gap: 0.6rem; }
    .fi-body .ptc-confirm-actions .ptc-btn { width: 100%; }
    .fi-body .ptc-btn--confirm-brand   { color: #fff; background: var(--pt-brand-600); border-color: var(--pt-brand-700); }
    .fi-body .ptc-btn--confirm-brand:hover { background: var(--pt-brand-700); }
    .fi-body .ptc-btn--confirm-go      { color: #fff; background: #16a34a; border-color: #15803d; }
    .fi-body .ptc-btn--confirm-go:hover { background: #15803d; }
    .fi-body .ptc-btn--confirm-go:focus-visible { box-shadow: 0 0 0 2px #4ade80; }
    .fi-body .ptc-btn--confirm-danger  { color: #fff; background: #dc2626; border-color: #b91c1c; }
    .fi-body .ptc-btn--confirm-danger:hover { background: #b91c1c; }
    .fi-body .ptc-btn--confirm-danger:focus-visible { box-shadow: 0 0 0 2px #f87171; }
    .fi-body .ptc-btn--confirm-warning { color: #fff; background: #d97706; border-color: #b45309; }
    .fi-body .ptc-btn--confirm-warning:hover { background: #b45309; }
    .fi-body .ptc-btn--confirm-warning:focus-visible { box-shadow: 0 0 0 2px #fbbf24; }
    .fi-body .ptc-confirm-anim-enter { transition: opacity 0.18s ease; }
    .fi-body .ptc-confirm-anim-leave { transition: opacity 0.15s ease; }
    .fi-body .ptc-confirm-anim-start { opacity: 0; }
    .fi-body .ptc-confirm-anim-end   { opacity: 1; }
    @keyframes ptcConfirmSheetIn { from { transform: translateY(100%); } to { transform: translateY(0); } }
    @keyframes ptcConfirmModalIn { from { transform: scale(0.96); } to { transform: scale(1); } }
    @media (min-width: 640px) {
        .fi-body .ptc-confirm { display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
        .fi-body .ptc-confirm-panel {
            position: relative; left: auto; right: auto; bottom: auto;
            width: min(26rem, 92vw);
            border: 1px solid var(--ptc-border); border-radius: 1rem;
            padding: 1.35rem 1.4rem 1.3rem;
            box-shadow: 0 24px 60px rgba(15,23,42,0.28);
            animation-name: ptcConfirmModalIn;
        }
        .fi-body .ptc-confirm-grip { display: none; }
        .fi-body .ptc-confirm-actions { flex-direction: row; justify-content: flex-end; }
        .fi-body .ptc-confirm-actions .ptc-btn { width: auto; min-width: 6.5rem; }
    }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .ptc-confirm-panel { animation: none; }
        .fi-body .ptc-confirm-anim-enter, .fi-body .ptc-confirm-anim-leave { transition: none; }
    }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .ptc-seg-btn, .fi-body .ptc-chip, .fi-body .ptc-btn,
        .fi-body .ptc-notif, .fi-body .ptc-meter-fill, .fi-body .ptc-filterbtn { transition: none; }
        .fi-body .ptc-seg-btn:active, .fi-body .ptc-chip:active, .fi-body .ptc-btn:active,
        .fi-body .ptc-filterbtn:active { transform: none; }
        .fi-body .ptc-seg--busy::after, .fi-body .ptc-chips--busy::after { animation: none; }
    }
    .fi-body .drc-num { font-variant-numeric: tabular-nums; }
    .fi-body .drc-good  { color: rgb(var(--success-600)); }
    .fi-body .drc-bad   { color: rgb(var(--danger-600)); }
    .fi-body .drc-warn  { color: rgb(var(--warning-600)); }
    .fi-body .drc-brand { color: rgb(var(--primary-600)); }
    .dark .fi-body .drc-good  { color: rgb(var(--success-400)); }
    .dark .fi-body .drc-bad   { color: rgb(var(--danger-400)); }
    .dark .fi-body .drc-warn  { color: rgb(var(--warning-400)); }
    .dark .fi-body .drc-brand { color: rgb(var(--primary-400)); }
    .fi-body .drc-track { background: rgba(var(--gray-950), .08); }
    .dark .fi-body .drc-track { background: rgba(255, 255, 255, .1); }
    .fi-body .drc-fill-bad { background: rgb(var(--danger-500)); }
    .fi-body .drc-badge-bad  { background: rgba(var(--danger-500), .12);  color: rgb(var(--danger-700)); }
    .fi-body .drc-badge-warn { background: rgba(var(--warning-500), .15); color: rgb(var(--warning-700)); }
    .dark .fi-body .drc-badge-bad  { background: rgba(var(--danger-400), .16);  color: rgb(var(--danger-400)); }
    .dark .fi-body .drc-badge-warn { background: rgba(var(--warning-400), .16); color: rgb(var(--warning-400)); }
    .fi-body .drc-soft-brand { background: rgba(var(--primary-500), .12); color: rgb(var(--primary-600)); }
    .dark .fi-body .drc-soft-brand { background: rgba(var(--primary-400), .16); color: rgb(var(--primary-400)); }
    .fi-body .drc-goodpanel { background: rgba(var(--success-500), .08); border: 1px solid rgba(var(--success-500), .25); }
    .dark .fi-body .drc-goodpanel { background: rgba(var(--success-400), .1); border-color: rgba(var(--success-400), .22); }
    .fi-body .drc-goodtext { color: rgb(var(--success-700)); }
    .dark .fi-body .drc-goodtext { color: rgb(var(--success-400)); }
    .fi-body .drc-fill-good { background: rgb(var(--success-500)); }
    .fi-body .drc-fill-brand { background: rgb(var(--primary-500)); }
    .fi-body .drc-soft-gray { background: rgba(var(--gray-500), .12); color: rgb(var(--gray-600)); }
    .dark .fi-body .drc-soft-gray { background: rgba(255, 255, 255, .08); color: rgb(var(--gray-300)); }
    .fi-body .dad-num  { font-variant-numeric: tabular-nums; }
    .fi-body .dad-brand { color: rgb(var(--primary-600)); }
    .dark .fi-body .dad-brand { color: rgb(var(--primary-400)); }
    .fi-body .dad-pill-gray { background: rgba(var(--gray-500), .12); color: rgb(var(--gray-600)); }
    .dark .fi-body .dad-pill-gray { background: rgba(255, 255, 255, .08); color: rgb(var(--gray-300)); }
    .fi-body .dad-pill-warn { background: rgba(var(--warning-500), .15); color: rgb(var(--warning-700)); }
    .dark .fi-body .dad-pill-warn { background: rgba(var(--warning-400), .16); color: rgb(var(--warning-400)); }
    .fi-body .dad-pill-bad  { background: rgba(var(--danger-500), .12); color: rgb(var(--danger-700)); }
    .dark .fi-body .dad-pill-bad  { background: rgba(var(--danger-400), .16); color: rgb(var(--danger-400)); }
    .fi-body .dad-goodpanel { background: rgba(var(--success-500), .08); border: 1px solid rgba(var(--success-500), .25); }
    .dark .fi-body .dad-goodpanel { background: rgba(var(--success-400), .1); border-color: rgba(var(--success-400), .22); }
    .fi-body .dad-goodtext { color: rgb(var(--success-700)); }
    .dark .fi-body .dad-goodtext { color: rgb(var(--success-400)); }
    .fi-body .dad-flagpanel { background: rgba(var(--danger-500), .06); border: 1px solid rgba(var(--danger-500), .18); }
    .dark .fi-body .dad-flagpanel { background: rgba(var(--danger-400), .08); border-color: rgba(var(--danger-400), .2); }
    .fi-body .dad-approve { background: rgba(var(--success-500), .12); color: rgb(var(--success-700)); min-height: 2.75rem; min-width: 5.5rem; }
    .fi-body .dad-approve:hover { background: rgba(var(--success-500), .2); }
    .dark .fi-body .dad-approve { background: rgba(var(--success-400), .16); color: rgb(var(--success-400)); }
    @media (min-width: 1024px) {
        .fi-body .dad-approve { min-height: 2rem; min-width: 0; }
    }
    .fi-body .dad-rule { border-top: 1px solid rgba(var(--gray-500), .16); }
    .fi-body .dad-sec { color: rgb(var(--gray-500)); }
    .dark .fi-body .dad-sec { color: rgb(var(--gray-400)); }
    .fi-body .dad-msg {
        background: rgba(var(--gray-500), .08);
        color: rgb(var(--gray-700));
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        white-space: pre-wrap;
        max-height: 13rem;
        overflow-y: auto;
    }
    .dark .fi-body .dad-msg { background: rgba(255, 255, 255, .06); color: rgb(var(--gray-300)); }
    .fi-body .drq-num { font-variant-numeric: tabular-nums; }
    .fi-body .drq-alert {
        display: flex; align-items: flex-start; gap: .6rem;
        margin-bottom: 1rem; padding: .7rem .85rem; border-radius: .85rem;
        background: rgba(var(--warning-500), .06);
        border: 1px solid rgba(var(--warning-500), .18);
        border-left: 3px solid rgba(var(--warning-500), .5);
    }
    .dark .fi-body .drq-alert { background: rgba(var(--warning-400), .08); border-color: rgba(var(--warning-400), .18); border-left-color: rgba(var(--warning-400), .45); }
    .fi-body .drq-alert-icon { flex: none; width: 1.15rem; height: 1.15rem; margin-top: .1rem; color: rgb(var(--warning-600)); }
    .dark .fi-body .drq-alert-icon { color: rgb(var(--warning-400)); }
    .fi-body .drq-alert-title { font-size: .85rem; font-weight: 700; color: rgb(var(--warning-700)); }
    .dark .fi-body .drq-alert-title { color: rgb(var(--warning-400)); }
    .fi-body .drq-alert-text { margin-top: .15rem; font-size: .78rem; line-height: 1.55; color: rgb(var(--gray-600)); }
    .dark .fi-body .drq-alert-text { color: rgb(var(--gray-300)); }
    .fi-body .drq-alert-cta {
        flex: none; align-self: center; min-height: 44px; display: inline-flex; align-items: center;
        padding: 0 .7rem; border-radius: .6rem; font-size: .76rem; font-weight: 700;
        background: rgb(var(--warning-600)); color: #fff;
    }
    .fi-body .drq-alert-cta:hover { background: rgb(var(--warning-700)); }
    .fi-body .drq-btn-resolve {
        display: inline-flex; align-items: center; gap: .4rem; padding: 0 1rem;
        border-radius: .5rem; font-size: .875rem; font-weight: 600;
        background: rgb(var(--success-600)); color: #fff;
    }
    .fi-body .drq-btn-resolve:hover { background: rgb(var(--success-700)); }
    .fi-body .drq-btn-resolve:disabled { opacity: .6; }
    .fi-body .drq-btn-blocked {
        display: inline-flex; align-items: center; padding: 0 1rem; border-radius: .5rem;
        font-size: .875rem; font-weight: 600; cursor: not-allowed;
        background: rgba(var(--gray-500), .12); color: rgb(var(--gray-500));
        border: 1px dashed rgba(var(--gray-500), .35);
    }
    .dark .fi-body .drq-btn-blocked { background: rgba(255, 255, 255, .06); color: rgb(var(--gray-400)); border-color: rgba(255, 255, 255, .18); }
    .fi-body .drq-chase { margin-top: .3rem; font-size: .7rem; font-weight: 600; color: rgb(var(--warning-700)); }
    .dark .fi-body .drq-chase { color: rgb(var(--warning-400)); }
    .fi-body .drq-badge {
        display: inline-flex; align-items: center; gap: .25rem;
        padding: .1rem .45rem; border-radius: 9999px; font-size: .68rem; font-weight: 700;
        background: rgba(var(--warning-500), .16); color: rgb(var(--warning-700));
    }
    .dark .fi-body .drq-badge { background: rgba(var(--warning-400), .18); color: rgb(var(--warning-400)); }
    .fi-body .drq-sec + .drq-sec { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid rgba(var(--gray-500), .16); }
    .fi-body .drq-sec-head { display: flex; align-items: center; gap: .4rem; }
    .fi-body .drq-sec-title { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: rgb(var(--gray-500)); }
    .dark .fi-body .drq-sec-title { color: rgb(var(--gray-400)); }
    .fi-body .drq-count {
        display: inline-flex; align-items: center; padding: .05rem .4rem; border-radius: 9999px;
        font-size: .68rem; font-weight: 700; font-variant-numeric: tabular-nums;
        background: rgba(var(--primary-500), .14); color: rgb(var(--primary-600));
    }
    .dark .fi-body .drq-count { background: rgba(var(--primary-400), .18); color: rgb(var(--primary-400)); }
    .fi-body .drq-count-warn { background: rgba(var(--warning-500), .18); color: rgb(var(--warning-700)); }
    .dark .fi-body .drq-count-warn { background: rgba(var(--warning-400), .2); color: rgb(var(--warning-400)); }
    .fi-body .drq-row { display: block; margin-top: .45rem; padding: .5rem .6rem; border-radius: .7rem; background: rgba(var(--gray-500), .07); }
    .dark .fi-body .drq-row { background: rgba(255, 255, 255, .05); }
    .fi-body .drq-row:hover { background: rgba(var(--primary-500), .09); }
    .fi-body .drq-row-top { display: flex; width: 100%; align-items: baseline; gap: .4rem; }
    .fi-body .drq-who { font-size: .78rem; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgb(var(--gray-900)); }
    .dark .fi-body .drq-who { color: #fff; }
    .fi-body .drq-day { flex: none; margin-left: auto; font-size: .68rem; font-variant-numeric: tabular-nums; color: rgb(var(--gray-500)); }
    .dark .fi-body .drq-day { color: rgb(var(--gray-400)); }
    .fi-body .drq-q { display: block; margin-top: .2rem; font-size: .76rem; line-height: 1.5; color: rgb(var(--gray-700)); }
    .dark .fi-body .drq-q { color: rgb(var(--gray-200)); }
    .fi-body .drq-a { display: block; margin-top: .2rem; padding-left: .5rem; font-size: .76rem; line-height: 1.5; border-left: 2px solid rgba(var(--success-500), .5); color: rgb(var(--gray-700)); }
    .dark .fi-body .drq-a { color: rgb(var(--gray-200)); }
    .fi-body .drq-meta { display: block; margin-top: .25rem; font-size: .68rem; font-weight: 600; color: rgb(var(--gray-500)); }
    .dark .fi-body .drq-meta { color: rgb(var(--gray-400)); }
    .fi-body .drq-meta-hot { color: rgb(var(--danger-600)); }
    .dark .fi-body .drq-meta-hot { color: rgb(var(--danger-400)); }
    .fi-body .drq-empty { margin-top: .4rem; font-size: .76rem; color: rgb(var(--gray-500)); }
    .dark .fi-body .drq-empty { color: rgb(var(--gray-400)); }
    .fi-body .drq-more { margin-top: .5rem; min-height: 44px; display: inline-flex; align-items: center; font-size: .76rem; font-weight: 700; color: rgb(var(--primary-600)); }
    .dark .fi-body .drq-more { color: rgb(var(--primary-400)); }
    .fi-body .drq-arch { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid rgba(var(--gray-500), .16); }
    .fi-body .drq-arch-sum { display: flex; align-items: center; gap: .4rem; min-height: 44px; cursor: pointer; list-style: none; }
    .fi-body .drq-arch-sum::-webkit-details-marker { display: none; }
    .fi-body .drq-arch-sum::after { content: '▾'; margin-left: auto; font-size: .7rem; color: rgb(var(--gray-500)); transition: transform .15s ease; }
    .fi-body .drq-arch[open] .drq-arch-sum::after { transform: rotate(180deg); }
    .fi-body .drq-count-mute { background: rgba(var(--gray-500), .16); color: rgb(var(--gray-600)); }
    .dark .fi-body .drq-count-mute { background: rgba(255, 255, 255, .08); color: rgb(var(--gray-300)); }
    .fi-body .drq-arch .drq-row { opacity: .82; }
    .fi-body .drq-arch .drq-row:hover { opacity: 1; }
    .fi-body .drq-arch-more { display: block; margin-top: .5rem; font-size: .72rem; color: rgb(var(--gray-500)); }
    .dark .fi-body .drq-arch-more { color: rgb(var(--gray-400)); }
    .fi-body .drqt-q {
        margin-top: .5rem; padding: .6rem .7rem;
        border-radius: .75rem; border: 1px solid rgb(var(--gray-200)); border-left-width: 3px;
        background: rgba(var(--gray-500), .05);
    }
    .dark .fi-body .drqt-q { border-color: rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .03); }
    .fi-body .drqt-q--open {
        border-color: var(--pt-amber-200); border-left-color: var(--pt-amber-400);
        background: color-mix(in srgb, var(--pt-amber-400) 6%, transparent);
    }
    .dark .fi-body .drqt-q--open {
        border-color: color-mix(in srgb, var(--pt-amber-400) 30%, transparent);
        border-left-color: var(--pt-amber-400);
        background: color-mix(in srgb, var(--pt-amber-400) 8%, transparent);
    }
    .fi-body .drqt-q--closed { border-left-color: rgb(var(--success-500)); }
    .fi-body .drqt-turn { display: flex; align-items: flex-start; gap: .5rem; }
    .fi-body .drqt-turn + .drqt-turn { margin-top: .4rem; }
    .fi-body .drqt-turn-av { margin-top: .1rem; }
    .fi-body .drqt-turn-body { flex: 1 1 auto; min-width: 0; padding: .4rem .6rem; border-radius: .6rem; }
    .fi-body .drqt-turn--reviewer .drqt-turn-body { background: color-mix(in srgb, var(--pt-amber-400) 15%, transparent); }
    .dark .fi-body .drqt-turn--reviewer .drqt-turn-body { background: color-mix(in srgb, var(--pt-amber-400) 13%, transparent); }
    .fi-body .drqt-turn--employee .drqt-turn-body { background: #fff; border: 1px solid rgb(var(--gray-200)); }
    .dark .fi-body .drqt-turn--employee .drqt-turn-body { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .1); }
    .fi-body .drqt-turn--lead .drqt-turn-q { font-weight: 600; }
    .fi-body .drqt-turn-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .4rem; }
    .fi-body .drqt-turn-author { font-size: .75rem; font-weight: 700; color: rgb(var(--gray-800)); }
    .dark .fi-body .drqt-turn-author { color: rgb(var(--gray-100)); }
    .fi-body .drqt-turn-role {
        padding: .02rem .35rem; border-radius: 9999px;
        font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
        background: rgba(var(--gray-500), .14); color: rgb(var(--gray-600));
    }
    .dark .fi-body .drqt-turn-role { background: rgba(255, 255, 255, .1); color: rgb(var(--gray-300)); }
    .fi-body .drqt-turn--reviewer .drqt-turn-role { background: color-mix(in srgb, var(--pt-amber-400) 24%, transparent); color: var(--pt-amber-800); }
    .dark .fi-body .drqt-turn--reviewer .drqt-turn-role { color: var(--pt-amber-300); }
    .fi-body .drqt-turn-time { font-size: .66rem; color: rgb(var(--gray-400)); font-variant-numeric: tabular-nums; }
    .fi-body .drqt-turn-text { margin-top: .15rem; font-size: .8125rem; line-height: 1.5; color: rgb(var(--gray-700)); overflow-wrap: anywhere; white-space: pre-wrap; }
    .dark .fi-body .drqt-turn-text { color: rgb(var(--gray-200)); }
    .fi-body .drqt-flag {
        display: inline-flex; align-items: center; gap: .3rem;
        margin-top: .5rem; padding: .15rem .5rem; border-radius: 9999px;
        font-size: .7rem; font-weight: 700;
        background: color-mix(in srgb, var(--pt-amber-400) 18%, transparent); color: var(--pt-amber-800);
    }
    .dark .fi-body .drqt-flag { color: var(--pt-amber-300); }
    .fi-body .drqt-flag svg { flex: none; width: .8rem; height: .8rem; }
    .fi-body .drqt-act {
        display: inline-flex; align-items: center; gap: .4rem;
        min-height: 44px; padding: 0 .85rem; border-radius: .55rem;
        font-size: .8125rem; font-weight: 600; border: 1px solid transparent;
        transition: background .15s, border-color .15s;
    }
    .fi-body .drqt-act svg { flex: none; width: .9rem; height: .9rem; }
    .fi-body .drqt-act--resolve {
        color: rgb(var(--success-700)); border-color: rgba(var(--success-500), .4); background: rgba(var(--success-500), .1);
    }
    .fi-body .drqt-act--resolve:hover { background: rgba(var(--success-500), .18); }
    .dark .fi-body .drqt-act--resolve { color: rgb(var(--success-400)); border-color: rgba(var(--success-400), .35); background: rgba(var(--success-400), .12); }
    .fi-body .drqt-act--pushback { color: var(--pt-amber-800); border-color: var(--pt-amber-200); background: transparent; }
    .fi-body .drqt-act--pushback:hover { background: var(--pt-amber-50); }
    .dark .fi-body .drqt-act--pushback { color: var(--pt-amber-300); border-color: color-mix(in srgb, var(--pt-amber-400) 40%, transparent); }
    .dark .fi-body .drqt-act--pushback:hover { background: color-mix(in srgb, var(--pt-amber-400) 10%, transparent); }
    .fi-body .drqt-act--neutral { color: rgb(var(--gray-600)); border-color: rgba(var(--gray-500), .35); background: transparent; }
    .fi-body .drqt-act--neutral:hover { background: rgba(var(--gray-500), .08); }
    .dark .fi-body .drqt-act--neutral { color: rgb(var(--gray-300)); border-color: rgba(255, 255, 255, .18); }
    .fi-body .drqt-await { margin-top: .4rem; font-size: .72rem; color: var(--pt-amber-800); }
    .dark .fi-body .drqt-await { color: var(--pt-amber-300); }
    .fi-body .drqt-resolved {
        display: inline-flex; align-items: center; gap: .3rem; margin-top: .45rem;
        font-size: .72rem; font-weight: 600; color: rgb(var(--success-700));
    }
    .dark .fi-body .drqt-resolved { color: rgb(var(--success-400)); }
    .fi-body .drqt-resolved svg { flex: none; width: .85rem; height: .85rem; }
    .fi-body .drqt-resolution {
        margin-top: .35rem; padding: .35rem .55rem; border-radius: .5rem;
        border-left: 2px solid rgba(var(--success-500), .5); background: rgba(var(--success-500), .07);
        font-size: .78rem; line-height: 1.5; color: rgb(var(--gray-700)); overflow-wrap: anywhere;
    }
    .dark .fi-body .drqt-resolution { color: rgb(var(--gray-200)); background: rgba(var(--success-400), .08); }
    .fi-body .drqt-resolution-label { font-weight: 700; color: rgb(var(--success-700)); }
    .dark .fi-body .drqt-resolution-label { color: rgb(var(--success-400)); }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .drqt-act { transition: none; }
    }
    @media (max-width: 1023.98px) {
        .fi-body .fi-resource-proposals .fi-ta-ctn { overflow: visible; }
        .fi-body .fi-resource-proposals .fi-ta table.fi-ta-table { display: block; width: 100%; }
        .fi-body .fi-resource-proposals .fi-ta-table thead { display: none; }
        .fi-body .fi-resource-proposals .fi-ta-table tbody {
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
            padding: 0.75rem;
            background: transparent;
        }
        .fi-body .fi-resource-proposals .fi-ta-table tbody tr {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            grid-template-areas:
                "client   status"
                "title    title"
                "amount   actions"
                "number   updated";
            align-items: center;
            gap: 0.25rem 0.75rem;
            padding: 0.85rem 0.95rem;
            border: 1px solid #e4e4e7;
            border-radius: 0.9rem;
            background: #ffffff;
            box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
        }
        .fi-body .fi-resource-proposals .fi-ta-table tbody tr:active {
            background: #f8fafc;
        }
        .dark .fi-body .fi-resource-proposals .fi-ta-table tbody tr {
            border-color: rgba(255, 255, 255, 0.09);
            background: rgb(24 24 27);
            box-shadow: none;
        }
        .dark .fi-body .fi-resource-proposals .fi-ta-table tbody tr:active {
            background: rgba(255, 255, 255, 0.03);
        }
        .fi-body .fi-resource-proposals .fi-ta-table tbody td.fi-ta-cell {
            display: block;
            min-width: 0;
            padding: 0;
            border: 0;
        }
        .fi-body .fi-resource-proposals .fi-ta-table tbody td.fi-ta-cell .fi-ta-record-url-link,
        .fi-body .fi-resource-proposals .fi-ta-table tbody td.fi-ta-cell > div { min-width: 0; }
        .fi-body .fi-resource-proposals .fi-ta-table tbody td.fi-ta-cell .fi-ta-text { padding: 0; gap: 0; }
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name { grid-area: client; min-width: 0; }
        .fi-body .fi-resource-proposals .fi-table-cell-status { grid-area: status; justify-self: end; }
        .fi-body .fi-resource-proposals .fi-table-cell-title { grid-area: title; min-width: 0; }
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-col-wrp,
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-col-wrp a,
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-text,
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-text > div,
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-text-item,
        .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-col-wrp,
        .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-col-wrp a,
        .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-text,
        .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-text > div,
        .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-text-item {
            display: block;
            min-width: 0;
            max-width: 100%;
        }
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-text-item-label,
        .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-text-item-label {
            display: block;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .fi-body .fi-resource-proposals .fi-table-cell-total-amount { grid-area: amount; justify-self: start; }
        .fi-body .fi-resource-proposals .fi-table-cell-updated-at { grid-area: updated; justify-self: end; }
        .fi-body .fi-resource-proposals .fi-table-cell-number { grid-area: number; justify-self: start; }
        .fi-body .fi-resource-proposals .fi-ta-actions-cell { grid-area: actions; justify-self: end; }
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name,
        .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-text-item-label {
            font-size: 0.95rem;
            font-weight: 700;
            line-height: 1.3;
            color: rgb(var(--primary-600));
        }
        .dark .fi-body .fi-resource-proposals .fi-table-cell-customer\.name,
        .dark .fi-body .fi-resource-proposals .fi-table-cell-customer\.name .fi-ta-text-item-label {
            color: rgb(var(--primary-400));
        }
        .fi-body .fi-resource-proposals .fi-table-cell-title,
        .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-text-item-label {
            font-size: 0.8125rem;
            font-weight: 500;
            color: #52525b;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .dark .fi-body .fi-resource-proposals .fi-table-cell-title,
        .dark .fi-body .fi-resource-proposals .fi-table-cell-title .fi-ta-text-item-label { color: #a1a1aa; }
        .fi-body .fi-resource-proposals .fi-table-cell-total-amount .fi-ta-text-item-label {
            font-size: 0.95rem;
            font-weight: 700;
            font-variant-numeric: tabular-nums;
            color: rgb(24 24 27);
        }
        .fi-body .fi-resource-proposals .fi-table-cell-total-amount .fi-ta-text-item-label::before {
            content: "AED ";
            font-weight: 600;
            color: #71717a;
        }
        .dark .fi-body .fi-resource-proposals .fi-table-cell-total-amount .fi-ta-text-item-label { color: rgb(244 244 245); }
        .dark .fi-body .fi-resource-proposals .fi-table-cell-total-amount .fi-ta-text-item-label::before { color: #a1a1aa; }
        .fi-body .fi-resource-proposals .fi-table-cell-updated-at,
        .fi-body .fi-resource-proposals .fi-table-cell-updated-at .fi-ta-text-item-label,
        .fi-body .fi-resource-proposals .fi-table-cell-number,
        .fi-body .fi-resource-proposals .fi-table-cell-number .fi-ta-text-item-label {
            font-size: 0.75rem;
            font-weight: 500;
            color: #71717a;
            font-variant-numeric: tabular-nums;
        }
        .dark .fi-body .fi-resource-proposals .fi-table-cell-updated-at,
        .dark .fi-body .fi-resource-proposals .fi-table-cell-updated-at .fi-ta-text-item-label,
        .dark .fi-body .fi-resource-proposals .fi-table-cell-number,
        .dark .fi-body .fi-resource-proposals .fi-table-cell-number .fi-ta-text-item-label { color: #a1a1aa; }
        .fi-body .fi-resource-proposals .fi-ta-actions-cell .fi-ta-actions { justify-content: flex-end; }
    }
    @media (min-width: 1024px) {
        .fi-body .fi-resource-proposals .fi-page > section { row-gap: 0.75rem; }
    }
    @media (max-width: 1023.98px) {
        .fi-body .fi-resource-leads .fi-ta-ctn,
        .fi-body .fi-resource-customers .fi-ta-ctn { overflow: visible; }
        .fi-body .fi-resource-leads .fi-ta table.fi-ta-table,
        .fi-body .fi-resource-customers .fi-ta table.fi-ta-table { display: block; width: 100%; }
        .fi-body .fi-resource-leads .fi-ta-table thead,
        .fi-body .fi-resource-customers .fi-ta-table thead { display: none; }
        .fi-body .fi-resource-leads .fi-ta-table tbody,
        .fi-body .fi-resource-customers .fi-ta-table tbody {
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
            padding: 0.75rem;
            background: transparent;
        }
        .fi-body .fi-resource-leads .fi-ta-table tbody tr,
        .fi-body .fi-resource-customers .fi-ta-table tbody tr {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 0.3rem 0.75rem;
            padding: 0.8rem 0.9rem;
            border: 1px solid #e4e4e7;
            border-radius: 0.9rem;
            background: #ffffff;
            box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
        }
        .fi-body .fi-resource-leads .fi-ta-table tbody tr:active,
        .fi-body .fi-resource-customers .fi-ta-table tbody tr:active { background: #f8fafc; }
        .dark .fi-body .fi-resource-leads .fi-ta-table tbody tr,
        .dark .fi-body .fi-resource-customers .fi-ta-table tbody tr {
            border-color: rgba(255, 255, 255, 0.09);
            background: rgb(24 24 27);
            box-shadow: none;
        }
        .dark .fi-body .fi-resource-leads .fi-ta-table tbody tr:active,
        .dark .fi-body .fi-resource-customers .fi-ta-table tbody tr:active { background: rgba(255, 255, 255, 0.03); }
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-ta-cell,
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-ta-cell {
            display: block;
            min-width: 0;
            padding: 0;
            border: 0;
        }
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-ta-cell .fi-ta-col-wrp,
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-ta-cell .fi-ta-col-wrp a,
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-ta-cell .fi-ta-col-wrp div,
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-ta-cell .fi-ta-col-wrp,
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-ta-cell .fi-ta-col-wrp a,
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-ta-cell .fi-ta-col-wrp div {
            display: block;
            min-width: 0;
            max-width: 100%;
            white-space: normal;
        }
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-ta-cell .fi-ta-record-url-link,
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-ta-cell .fi-ta-record-url-link { height: 100%; }
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-ta-cell .fi-ta-text,
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-ta-cell .fi-ta-text { padding: 0; gap: 0; }
        .fi-body .fi-resource-leads .fi-ta-table tbody tr {
            grid-template-areas:
                "client  status"
                "value   quality"
                "owner   captured"
                "actions actions";
        }
        .fi-body .fi-resource-leads .fi-table-cell-customer\.name { grid-area: client; min-width: 0; }
        .fi-body .fi-resource-leads .fi-table-cell-status         { grid-area: status; justify-self: end; }
        .fi-body .fi-resource-leads .fi-table-cell-estimated-value { grid-area: value; justify-self: start; }
        .fi-body .fi-resource-leads .fi-table-cell-quality        { grid-area: quality; justify-self: end; }
        .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name { grid-area: owner; min-width: 0; }
        .fi-body .fi-resource-leads .fi-table-cell-created-at     { grid-area: captured; justify-self: end; }
        .fi-body .fi-resource-leads .fi-ta-actions-cell           { grid-area: actions; }
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-table-cell-source-channel,
        .fi-body .fi-resource-leads .fi-ta-table tbody td.fi-table-cell-expected-close-date { display: none; }
        .fi-body .fi-resource-customers .fi-ta-table tbody tr {
            grid-template-areas:
                "name   status"
                "email  leads"
                "phone  actions";
        }
        .fi-body .fi-resource-customers .fi-table-cell-name        { grid-area: name; min-width: 0; }
        .fi-body .fi-resource-customers .fi-table-cell-status      { grid-area: status; justify-self: end; }
        .fi-body .fi-resource-customers .fi-table-cell-email       { grid-area: email; min-width: 0; }
        .fi-body .fi-resource-customers .fi-table-cell-leads-count { grid-area: leads; justify-self: end; }
        .fi-body .fi-resource-customers .fi-table-cell-phone       { grid-area: phone; min-width: 0; }
        .fi-body .fi-resource-customers .fi-ta-actions-cell        { grid-area: actions; }
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-table-cell-industry,
        .fi-body .fi-resource-customers .fi-ta-table tbody td.fi-table-cell-city { display: none; }
        .fi-body .fi-resource-leads .fi-table-cell-customer\.name .fi-ta-text-item-label,
        .fi-body .fi-resource-leads .fi-table-cell-customer\.name .fi-ta-placeholder,
        .fi-body .fi-resource-customers .fi-table-cell-name .fi-ta-text-item-label {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            max-width: 100%;
            overflow: hidden;
            overflow-wrap: anywhere;
            font-size: 0.95rem;
            font-weight: 700;
            line-height: 1.3;
            color: rgb(var(--primary-600));
        }
        .dark .fi-body .fi-resource-leads .fi-table-cell-customer\.name .fi-ta-text-item-label,
        .dark .fi-body .fi-resource-customers .fi-table-cell-name .fi-ta-text-item-label { color: rgb(var(--primary-400)); }
        .fi-body .fi-resource-leads .fi-table-cell-customer\.name .fi-ta-placeholder { color: rgb(24 24 27); }
        .dark .fi-body .fi-resource-leads .fi-table-cell-customer\.name .fi-ta-placeholder { color: rgb(244 244 245); }
        .fi-body .fi-resource-leads .fi-table-cell-customer\.name .fi-ta-text-item-description,
        .fi-body .fi-resource-customers .fi-table-cell-name .fi-ta-text-item-description {
            display: block;
            max-width: 100%;
            margin-top: 0.05rem;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-size: 0.75rem;
            font-weight: 500;
            color: #71717a;
        }
        .dark .fi-body .fi-resource-leads .fi-table-cell-customer\.name .fi-ta-text-item-description,
        .dark .fi-body .fi-resource-customers .fi-table-cell-name .fi-ta-text-item-description { color: #a1a1aa; }
        .fi-body .fi-resource-leads .fi-table-cell-estimated-value .fi-ta-text-item-label {
            font-size: 0.95rem;
            font-weight: 700;
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
            color: rgb(24 24 27);
        }
        .fi-body .fi-resource-leads .fi-table-cell-estimated-value .fi-ta-text-item-label::before {
            content: var(--pt-mc-cur, "");
            font-weight: 600;
            color: #71717a;
        }
        .dark .fi-body .fi-resource-leads .fi-table-cell-estimated-value .fi-ta-text-item-label { color: rgb(244 244 245); }
        .dark .fi-body .fi-resource-leads .fi-table-cell-estimated-value .fi-ta-text-item-label::before { color: #a1a1aa; }
        .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-text-item-label::before,
        .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-placeholder::before,
        .fi-body .fi-resource-customers .fi-table-cell-leads-count .fi-ta-text-item-label::before {
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #a1a1aa;
        }
        .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-text-item-label::before,
        .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-placeholder::before { content: "Owner\0000a0"; }
        .fi-body .fi-resource-customers .fi-table-cell-leads-count .fi-ta-text-item-label::before { content: "Leads\0000a0"; }
        .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-text-item-label,
        .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-placeholder,
        .fi-body .fi-resource-leads .fi-table-cell-created-at .fi-ta-text-item-label,
        .fi-body .fi-resource-leads .fi-table-cell-estimated-value .fi-ta-placeholder,
        .fi-body .fi-resource-customers .fi-table-cell-email .fi-ta-text-item-label,
        .fi-body .fi-resource-customers .fi-table-cell-email .fi-ta-placeholder,
        .fi-body .fi-resource-customers .fi-table-cell-phone .fi-ta-text-item-label,
        .fi-body .fi-resource-customers .fi-table-cell-phone .fi-ta-placeholder,
        .fi-body .fi-resource-customers .fi-table-cell-leads-count .fi-ta-text-item-label {
            display: block;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-size: 0.78rem;
            font-weight: 500;
            line-height: 1.35;
            color: #52525b;
            font-variant-numeric: tabular-nums;
        }
        .dark .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-text-item-label,
        .dark .fi-body .fi-resource-leads .fi-table-cell-assigned-to\.name .fi-ta-placeholder,
        .dark .fi-body .fi-resource-leads .fi-table-cell-created-at .fi-ta-text-item-label,
        .dark .fi-body .fi-resource-leads .fi-table-cell-estimated-value .fi-ta-placeholder,
        .dark .fi-body .fi-resource-customers .fi-table-cell-email .fi-ta-text-item-label,
        .dark .fi-body .fi-resource-customers .fi-table-cell-email .fi-ta-placeholder,
        .dark .fi-body .fi-resource-customers .fi-table-cell-phone .fi-ta-text-item-label,
        .dark .fi-body .fi-resource-customers .fi-table-cell-phone .fi-ta-placeholder,
        .dark .fi-body .fi-resource-customers .fi-table-cell-leads-count .fi-ta-text-item-label { color: #a1a1aa; }
        .fi-body .fi-resource-leads .fi-ta-actions-cell > div,
        .fi-body .fi-resource-customers .fi-ta-actions-cell > div {
            padding: 0;
            white-space: normal;
        }
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-ta-actions,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-ta-actions {
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 0.4rem;
        }
        .fi-body .fi-resource-leads .fi-ta-actions-cell {
            margin-top: 0.35rem;
            padding-top: 0.55rem;
            border-top: 1px solid #f1f1f4;
        }
        .dark .fi-body .fi-resource-leads .fi-ta-actions-cell { border-top-color: rgba(255, 255, 255, 0.07); }
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-icon-btn,
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-btn,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-icon-btn,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.35rem;
            width: auto;
            height: auto;
            min-height: 2.75rem;
            margin: 0;
            padding: 0.4rem 0.85rem;
            border: 1px solid #e4e4e7;
            border-radius: 0.65rem;
            background: #ffffff;
            box-shadow: none;
            font-size: 0.8rem;
            font-weight: 600;
            line-height: 1.1;
        }
        .dark .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-icon-btn,
        .dark .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-btn,
        .dark .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-icon-btn,
        .dark .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-btn {
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.04);
        }
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-icon-btn:active,
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-btn:active,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-icon-btn:active,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-btn:active { background: #f4f4f5; }
        .fi-body .fi-resource-leads .fi-ta-actions-cell .sr-only,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .sr-only {
            position: static;
            width: auto;
            height: auto;
            margin: 0;
            padding: 0;
            overflow: visible;
            clip: auto;
            clip-path: none;
            white-space: nowrap;
            border-width: 0;
        }
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-icon-btn-icon,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-icon-btn-icon {
            width: 1.05rem;
            height: 1.05rem;
            flex: none;
        }
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-icon-btn.pt-mc-viewact,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-icon-btn.pt-mc-viewact { display: none; }
        .fi-body .fi-resource-leads .fi-ta-actions-cell .fi-dropdown-list-item,
        .fi-body .fi-resource-customers .fi-ta-actions-cell .fi-dropdown-list-item {
            min-height: 2.75rem;
            padding-block: 0.5rem;
        }
        .fi-body .fi-resource-leads .fi-table-cell-status .fi-badge,
        .fi-body .fi-resource-leads .fi-table-cell-quality .fi-badge,
        .fi-body .fi-resource-customers .fi-table-cell-status .fi-badge { white-space: nowrap; }
        .fi-body .fi-resource-leads .fi-ta-empty-state,
        .fi-body .fi-resource-customers .fi-ta-empty-state { padding-block: 2rem; }
    }
    @media (max-width: 1023.98px) {
        .fi-body .fi-resource-proposals .fi-tabs {
            margin: 0.5rem;
            gap: 0.25rem;
            padding: 0.28rem;
            border: 0;
            border-radius: 0.85rem;
            background: #f1f2f5;
            overflow: visible;
        }
        .fi-body .fi-resource-proposals .fi-tabs-item {
            flex: 1 1 0;
            min-width: 0;
            min-height: 2.75rem;
            gap: 0.35rem;
            padding: 0.3rem 0.35rem;
            font-size: 0.8rem;
            border-radius: 0.6rem;
            color: #52525b;
        }
        .fi-body .fi-resource-proposals .fi-tabs-item svg { height: 1.1rem; width: 1.1rem; flex: none; }
        .fi-body .fi-resource-proposals .fi-tabs-item.fi-tabs-item-active {
            background: rgb(var(--primary-600));
            color: #ffffff;
            box-shadow: 0 1px 3px rgba(12, 54, 165, 0.35);
        }
        .fi-body .fi-resource-proposals .fi-tabs-item.fi-tabs-item-active svg,
        .fi-body .fi-resource-proposals .fi-tabs-item.fi-tabs-item-active .fi-tabs-item-label { color: #ffffff; }
        .dark .fi-body .fi-resource-proposals .fi-tabs { background: rgba(255,255,255,0.06); }
        .dark .fi-body .fi-resource-proposals .fi-tabs-item { color: #a1a1aa; }
        .dark .fi-body .fi-resource-proposals .fi-tabs-item.fi-tabs-item-active { color: #ffffff; }
        .fi-body .fi-resource-proposals .fi-quote-quickadd .fi-ac {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.5rem;
            width: 100%;
        }
        .fi-body .fi-resource-proposals .fi-quote-quickadd .fi-ac > .fi-btn {
            width: 100%;
            justify-content: flex-start;
        }
        .fi-body .fi-resource-proposals .fi-fo-repeater-item-header {
            gap: 0.1rem;
            padding-left: 0.4rem;
            padding-right: 0.15rem;
        }
        .fi-body .fi-resource-proposals .fi-fo-repeater-item-header > ul { gap: 0; }
        .fi-body .fi-resource-proposals .fi-fo-repeater-item-header > h4 {
            flex: 1 1 auto;
            min-width: 0;
        }
        .fi-body .fi-resource-proposals .fi-fo-repeater-item-header > ul:first-child > li:first-child {
            display: none;
        }
        .fi-body .fi-resource-proposals .fi-fo-repeater-item-content { padding: 0.85rem 0.75rem; }
        .fi-body .fi-resource-proposals .fi-form-actions {
            position: sticky;
            bottom: calc(4.5rem + env(safe-area-inset-bottom));
            z-index: 15;
            margin-top: 0.75rem;
            padding: 0.6rem 0.75rem;
            border-radius: 0.9rem;
            background: rgba(255,255,255,0.94);
            -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
            border: 1px solid #e4e4e7;
            box-shadow: 0 6px 18px -8px rgba(16, 24, 40, 0.28);
        }
        .dark .fi-body .fi-resource-proposals .fi-form-actions {
            background: rgba(24,24,27,0.94);
            border-color: rgba(255,255,255,0.09);
        }
        .fi-body .fi-resource-proposals .fi-form-actions .fi-ac {
            flex-wrap: nowrap;
            width: 100%;
            gap: 0.5rem;
        }
        .fi-body .fi-resource-proposals .fi-form-actions .fi-ac > .fi-btn:first-child { flex: 1 1 auto; }
        .fi-body .fi-resource-create-record-page.fi-resource-proposals .fi-form-actions .fi-ac > .fi-btn:nth-child(2) {
            display: none;
        }
    }
    .fi-body .pb-preview-toggle { display: flex; justify-content: flex-end; margin-bottom: 0.75rem; }
    .fi-body .pb-preview-toggle__btn { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.1rem; padding: 0.4rem 0.8rem; border-radius: 0.6rem; font-size: 0.8rem; font-weight: 600; cursor: pointer; border: 1px solid rgba(var(--gray-950), .1); background: transparent; color: rgb(var(--gray-600)); }
    .dark .fi-body .pb-preview-toggle__btn { border-color: rgb(255 255 255 / .1); color: rgb(var(--gray-300)); }
    .fi-body .pb-preview-toggle__btn:hover { background: rgba(var(--gray-950), .04); }
    .dark .fi-body .pb-preview-toggle__btn:hover { background: rgb(255 255 255 / .05); }
    .fi-body .pb-editor { min-width: 0; }
    .fi-body .pb-preview { min-width: 0; margin-top: 1.25rem; }
    .fi-body .pb-preview__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.5rem; }
    .fi-body .pb-preview__hint { margin: 0; font-size: 0.72rem; color: rgb(var(--gray-500)); flex: 1 1 12rem; }
    .fi-body .pb-preview__tools { display: flex; align-items: center; gap: 0.5rem; }
    .fi-body .pb-preview__btn { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.7rem; border-radius: 0.55rem; font-size: 0.75rem; font-weight: 600; cursor: pointer; text-decoration: none; border: 1px solid rgba(var(--gray-950), .1); background: transparent; color: rgb(var(--gray-600)); }
    .dark .fi-body .pb-preview__btn { border-color: rgb(255 255 255 / .1); color: rgb(var(--gray-300)); }
    .fi-body .pb-preview__btn:hover { background: rgba(var(--gray-950), .04); }
    .dark .fi-body .pb-preview__btn:hover { background: rgb(255 255 255 / .05); }
    .fi-body .pb-preview__btn--primary { border-color: rgba(var(--primary-500), .35); background: rgba(var(--primary-500), .1); color: rgb(var(--primary-600)); }
    .dark .fi-body .pb-preview__btn--primary { color: rgb(var(--primary-400)); }
    .fi-body .pb-preview__btn[disabled] { opacity: .6; cursor: default; }
    .fi-body .pb-preview__ico { width: 0.9rem; height: 0.9rem; }
    .fi-body .pb-preview__ico--spin { animation: pb-spin 0.8s linear infinite; }
    @keyframes pb-spin { to { transform: rotate(360deg); } }
    .fi-body .pb-preview__frame { overflow: hidden; border-radius: 0.85rem; background: rgb(var(--gray-100)); border: 1px solid rgba(var(--gray-950), .1); }
    .dark .fi-body .pb-preview__frame { background: rgb(var(--gray-900)); border-color: rgb(255 255 255 / .1); }
    .fi-body .pb-preview__frame iframe { display: block; width: 100%; border: 0; background: #fff; height: 78vh; min-height: 560px; }
    @media (min-width: 1280px) {
        .fi-body .pb-split.pb-split--open { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 40%); gap: 1.5rem; align-items: start; }
        .fi-body .pb-split.pb-split--open .pb-preview { margin-top: 0; position: sticky; top: 1.25rem; }
        .fi-body .pb-split.pb-split--open .pb-preview__frame iframe { height: calc(100vh - 11rem); min-height: 560px; }
    }
    .fi-body .fi-portal-back {
        align-items: center;
        gap: 0.15rem;
        min-height: 2.75rem;
        padding-inline: 0.35rem 0.5rem;
        margin-inline-start: -0.35rem;
        border-radius: 0.6rem;
        font-size: 0.95rem;
        font-weight: 600;
        letter-spacing: -0.01em;
        text-decoration: none;
        color: #0c36a5;
        max-width: 62vw;
        -webkit-tap-highlight-color: transparent;
    }
    .dark .fi-body .fi-portal-back { color: #93b0ff; }
    .fi-body .fi-portal-back:active { background-color: rgba(12, 54, 165, 0.08); }
    .dark .fi-body .fi-portal-back:active { background-color: rgba(147, 176, 255, 0.12); }
    .fi-body .fi-portal-back:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: 2px;
    }
    .fi-body .fi-portal-back-label {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .fi-body .pt-actionbar-ctn { display: block; }
    .fi-body .pt-actionbar {
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
    }
    .fi-body .pt-actionbar-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem;
    }
    .fi-body .pt-actionbar--end .pt-actionbar-row { justify-content: flex-end; }
    .fi-body .pt-actionbar--start .pt-actionbar-row { justify-content: flex-start; }
    .fi-body .pt-actionbar--between .pt-actionbar-row { justify-content: space-between; }
    .fi-body .pt-actionbar-note {
        margin: 0;
        font-size: 0.72rem;
        line-height: 1.35;
        color: #6b7280;
    }
    .dark .fi-body .pt-actionbar-note { color: #9ca3af; }
    @media (max-width: 1023.98px) {
        .fi-body .fi-portal-back { display: inline-flex; }
        .fi-body .fi-main-sidebar,
        .fi-body .fi-sidebar-close-overlay { display: none !important; }
        .fi-body .pt-actionbar {
            position: fixed;
            inset-inline: 0;
            bottom: var(--pt-tabbar-h, 3.75rem);
            z-index: 30;
            gap: 0.35rem;
            padding: 0.55rem 0.9rem 0.6rem;
            background-color: rgba(255, 255, 255, 0.94);
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
            border-top: 1px solid rgba(17, 24, 39, 0.08);
            box-shadow: 0 -6px 20px -12px rgba(17, 24, 39, 0.45);
        }
        .dark .fi-body .pt-actionbar {
            background-color: rgba(17, 24, 39, 0.94);
            border-top-color: rgba(255, 255, 255, 0.1);
        }
        .fi-body .pt-actionbar-row { flex-wrap: wrap; gap: 0.45rem; }
        .fi-body .pt-actionbar-row > * { flex: 1 1 8rem; min-width: 0; }
        .fi-body .pt-actionbar-row > button,
        .fi-body .pt-actionbar-row > a {
            justify-content: center;
            min-height: 2.75rem;
            padding-inline: 0.6rem;
        }
    }
    @media (min-width: 1024px) {
        .fi-body .pt-actionbar-spacer { height: 0 !important; }
        .fi-body .pt-actionbar { margin-top: 0.75rem; }
    }
    @media (max-width: 1023.98px) {
        .fi-body .fi-resource-create-record-page .fi-form-actions,
        .fi-body .fi-resource-edit-record-page .fi-form-actions {
            position: fixed;
            inset-inline: 0;
            bottom: var(--pt-tabbar-h, 3.75rem);
            z-index: 30;
            margin: 0;
            padding: 0.55rem 0.9rem 0.6rem;
            background-color: rgba(255, 255, 255, 0.94);
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
            border-top: 1px solid rgba(17, 24, 39, 0.08);
            box-shadow: 0 -6px 20px -12px rgba(17, 24, 39, 0.45);
        }
        .dark .fi-body .fi-resource-create-record-page .fi-form-actions,
        .dark .fi-body .fi-resource-edit-record-page .fi-form-actions {
            background-color: rgba(17, 24, 39, 0.94);
            border-top-color: rgba(255, 255, 255, 0.1);
        }
        .fi-body .fi-resource-create-record-page .fi-form-actions .fi-ac,
        .fi-body .fi-resource-edit-record-page .fi-form-actions .fi-ac {
            flex-wrap: wrap;
            gap: 0.45rem;
        }
        .fi-body .fi-resource-create-record-page .fi-form-actions .fi-ac > .fi-btn,
        .fi-body .fi-resource-edit-record-page .fi-form-actions .fi-ac > .fi-btn {
            flex: 1 1 8rem;
            justify-content: center;
            min-height: 2.75rem;
        }
        .fi-body .fi-resource-create-record-page,
        .fi-body .fi-resource-edit-record-page { padding-bottom: 4rem; }
    }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .fi-main-ctn { transition: none !important; }
    }
    #portal-push-prompt {
        position: fixed;
        inset-inline: 0;
        z-index: 40;
        padding-inline: 0.75rem;
        bottom: calc(env(safe-area-inset-bottom) + 9.25rem);
    }
    @media (min-width: 1024px) {
        #portal-push-prompt {
            inset-inline: auto 1rem;
            width: 22rem;
            padding-inline: 0;
            bottom: 1rem;
        }
    }
    body.pt-push-open .fi-main,
    body.pt-push-open .fi-simple-main-ctn {
        padding-bottom: calc(max(var(--pt-push-h, 0px), var(--pt-install-h, 0px)) + 1rem) !important;
    }
    #pt-install-banner {
        position: fixed;
        inset-inline: 0;
        z-index: 40;
        padding-inline: 0.75rem;
        bottom: calc(env(safe-area-inset-bottom) + 1rem);
    }
    @media (max-width: 1023.98px) {
        body:has(.fi-mobile-nav) #pt-install-banner {
            bottom: calc(env(safe-area-inset-bottom) + 9.25rem);
        }
    }
    @media (min-width: 1024px) {
        #pt-install-banner {
            inset-inline: 1rem auto;
            width: 22rem;
            padding-inline: 0;
            bottom: 1rem;
        }
        body:has(.fi-sidebar) #pt-install-banner {
            inset-inline: calc(var(--sidebar-width, 0px) + 1rem) auto;
        }
    }
    body.pt-install-open .fi-main,
    body.pt-install-open .fi-simple-main-ctn {
        padding-bottom: calc(max(var(--pt-install-h, 0px), var(--pt-push-h, 0px)) + 1rem) !important;
    }
    #pt-install-banner button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        min-width: 2.75rem;
        padding-inline: 0.85rem;
    }
    .fi-body .pt-rec {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
        width: 100%;
        max-width: 44rem;
        margin-inline: auto;
    }
    .fi-body .pt-rec-main,
    .fi-body .pt-rec-rail,
    .fi-body .pt-rec-act,
    .fi-body .pt-rec-foot { min-width: 0; }
    .fi-body .pt-rec-main {
        display: flex;
        flex-direction: column;
        gap: 0.85rem;
        container: pt-rec-col / inline-size;
    }
    .fi-body .pt-rec-rail { display: flex; flex-direction: column; gap: 0.7rem; }
    .fi-body .pt-rec-foot { padding-top: 0.15rem; }
    @media (min-width: 1024px) {
        .fi-body .pt-rec {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 20rem;
            grid-template-areas:
                "main rail"
                "act  rail"
                "foot rail";
            align-items: start;
            gap: 0.9rem 1.5rem;
            max-width: 72rem;
        }
        .fi-body .pt-rec-main { grid-area: main; }
        .fi-body .pt-rec-act  { grid-area: act; }
        .fi-body .pt-rec-foot { grid-area: foot; }
        .fi-body .pt-rec--norail {
            grid-template-columns: minmax(0, 1fr);
            grid-template-areas: "main" "act" "foot";
            max-width: 54rem;
        }
        .fi-body .pt-rec-rail {
            grid-area: rail;
            position: sticky;
            top: 4.75rem;
            max-height: calc(100vh - 6.5rem);
            max-height: calc(100dvh - 6.5rem);
            overflow-y: auto;
            overscroll-behavior: contain;
        }
    }
    .fi-body .pt-rec-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.75rem;
        padding-bottom: 0.65rem;
        border-bottom: 1px solid var(--ptc-border);
    }
    .fi-body .pt-rec-head-id { min-width: 0; }
    .fi-body .pt-rec-head-pill { flex: none; }
    .fi-body .pt-rec-kicker {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        margin: 0;
        font-size: 0.66rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--ptc-ink-faint);
        overflow-wrap: anywhere;
    }
    .fi-body .pt-rec-kicker::before {
        content: "";
        flex: none;
        width: 1.1rem;
        height: 2px;
        border-radius: 1px;
        background: var(--pt-brand-500);
    }
    .fi-body .pt-rec-title {
        margin: 0.28rem 0 0;
        font-size: clamp(1.3rem, 1.02rem + 1.2vw, 1.85rem);
        line-height: 1.14;
        font-weight: 800;
        letter-spacing: -0.02em;
        color: var(--ptc-ink);
        font-variant-numeric: tabular-nums;
        overflow-wrap: anywhere;
    }
    .fi-body .pt-rec-sub {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.15rem 0.4rem;
        margin: 0.3rem 0 0;
        min-width: 0;
        font-size: 0.82rem;
        line-height: 1.4;
        color: var(--ptc-ink-soft);
    }
    .fi-body .pt-rec-sub-ic { flex: none; width: 0.9rem; height: 0.9rem; color: var(--ptc-ink-faint); }
    .fi-body .pt-rec-sub-txt { min-width: 0; overflow-wrap: anywhere; }
    .fi-body .pt-rec-sub-sep { color: var(--ptc-ink-faint); }
    .fi-body .pt-rec-figs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1px;
        margin: 0;
        background: var(--ptc-border);
        border: 1px solid var(--ptc-border);
        border-radius: 0.75rem;
        overflow: hidden;
    }
    .fi-body .pt-rec-figs--1 { grid-template-columns: minmax(0, 1fr); }
    .fi-body .pt-rec-figs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fi-body .pt-rec-figs > .pt-rec-fig:nth-child(odd):last-child { grid-column: 1 / -1; }
    @container pt-rec-col (min-width: 34rem) {
        .fi-body .pt-rec-figs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .fi-body .pt-rec-figs--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        .fi-body .pt-rec-figs--3 > .pt-rec-fig:nth-child(odd):last-child,
        .fi-body .pt-rec-figs--4 > .pt-rec-fig:nth-child(odd):last-child { grid-column: auto; }
    }
    .fi-body .pt-rec-fig { min-width: 0; padding: 0.5rem 0.7rem 0.55rem; background: var(--ptc-surface); }
    .fi-body .pt-rec-fig-l {
        margin: 0;
        font-size: 0.63rem;
        font-weight: 700;
        letter-spacing: 0.075em;
        text-transform: uppercase;
        color: var(--ptc-ink-faint);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .fi-body .pt-rec-fig-v {
        margin: 0.12rem 0 0;
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.25;
        color: var(--ptc-ink);
        font-variant-numeric: tabular-nums;
        overflow-wrap: anywhere;
    }
    .fi-body .pt-rec-fig-u { font-size: 0.7rem; font-weight: 600; color: var(--ptc-ink-soft); }
    .fi-body .pt-rec-fig--alert .pt-rec-fig-v { color: #b45309; }
    .dark .fi-body .pt-rec-fig--alert .pt-rec-fig-v { color: #fbbf24; }
    .fi-body .pt-rec-panel {
        border: 1px solid var(--ptc-border);
        border-radius: 0.75rem;
        background: var(--ptc-surface);
        overflow: hidden;
    }
    .fi-body .pt-rec-panel-h {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        padding: 0.4rem 0.7rem;
        background: var(--ptc-surface-2);
        border-bottom: 1px solid var(--ptc-border);
    }
    .fi-body .pt-rec-panel-t {
        margin: 0;
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: var(--ptc-ink-soft);
    }
    .fi-body .pt-rec-panel-n {
        flex: none;
        font-size: 0.68rem;
        font-weight: 600;
        color: var(--ptc-ink-faint);
        font-variant-numeric: tabular-nums;
    }
    .fi-body .pt-rec-panel-b { padding: 0.55rem 0.7rem; }
    .fi-body .pt-rec-panel-b--flush { padding: 0; }
    .fi-body .pt-rec-facts { margin: 0; }
    .fi-body .pt-rec-fact {
        display: grid;
        grid-template-columns: minmax(4rem, 7rem) minmax(0, 1fr);
        align-items: baseline;
        gap: 0.15rem 0.85rem;
        padding: 0.38rem 0.7rem;
        border-top: 1px solid var(--ptc-border);
    }
    .fi-body .pt-rec-fact:first-child { border-top: 0; }
    .fi-body .pt-rec-fact--long { grid-template-columns: minmax(0, 1fr); }
    .fi-body .pt-rec-fact-k {
        margin: 0;
        font-size: 0.68rem;
        font-weight: 600;
        line-height: 1.4;
        color: var(--ptc-ink-faint);
        overflow-wrap: anywhere;
    }
    .fi-body .pt-rec-fact-v {
        margin: 0;
        min-width: 0;
        font-size: 0.82rem;
        font-weight: 600;
        line-height: 1.45;
        text-align: end;
        color: var(--ptc-ink);
        font-variant-numeric: tabular-nums;
        overflow-wrap: anywhere;
    }
    .fi-body .pt-rec-fact-v--long {
        text-align: start;
        font-weight: 500;
        white-space: pre-line;
    }
    @media (min-width: 640px) {
        .fi-body .pt-rec-facts--dense { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .fi-body .pt-rec-facts--dense > .pt-rec-fact--long { grid-column: 1 / -1; }
        .fi-body .pt-rec-facts--dense > .pt-rec-fact:nth-child(2n+1):not(.pt-rec-fact--long) {
            border-inline-end: 1px solid var(--ptc-border);
        }
        .fi-body .pt-rec-facts--dense > .pt-rec-fact:nth-child(2n+1):last-child {
            grid-column: 1 / -1;
            border-inline-end: 0;
        }
    }
    .fi-body .pt-rec-tw {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }
    .fi-body .pt-rec-tw:focus-visible { outline: 2px solid var(--pt-brand-500); outline-offset: -2px; }
    .fi-body .pt-rec-t {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 0.8rem;
    }
    .fi-body .pt-rec-t th,
    .fi-body .pt-rec-t td { padding: 0.34rem 0.6rem; text-align: start; vertical-align: top; }
    .fi-body .pt-rec-t thead th {
        position: sticky;
        top: 0;
        z-index: 1;
        background: var(--ptc-surface-2);
        border-bottom: 1px solid var(--ptc-border);
        font-size: 0.63rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--ptc-ink-faint);
        white-space: nowrap;
    }
    .fi-body .pt-rec-t tbody td { border-top: 1px solid var(--ptc-border); color: var(--ptc-ink); }
    .fi-body .pt-rec-t tbody tr:first-child td { border-top: 0; }
    .fi-body .pt-rec-num { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
    .fi-body .pt-rec-t th.pt-rec-num,
    .fi-body .pt-rec-t td.pt-rec-num { text-align: end; }
    .fi-body .pt-rec-stick { position: sticky; inset-inline-start: 0; z-index: 2; background: var(--ptc-surface); }
    .fi-body .pt-rec-t thead .pt-rec-stick { z-index: 3; background: var(--ptc-surface-2); }
    .fi-body .pt-rec-cell-t { display: block; font-weight: 600; overflow-wrap: anywhere; }
    .fi-body .pt-rec-cell-n {
        display: block;
        margin-top: 0.05rem;
        font-size: 0.68rem;
        font-weight: 500;
        line-height: 1.35;
        color: var(--ptc-ink-soft);
        overflow-wrap: anywhere;
    }
    .fi-body .pt-rec-cell-n--alert { font-weight: 600; color: #b45309; }
    .dark .fi-body .pt-rec-cell-n--alert { color: #fbbf24; }
    .fi-body .pt-rec-row--muted { opacity: 0.62; }
    .fi-body .pt-rec-file {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        min-width: 0;
        min-height: 44px;
        padding: 0.25rem 0.1rem;
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--pt-brand-600);
        text-decoration: underline;
        text-underline-offset: 2px;
        overflow-wrap: anywhere;
        transition: color .15s ease;
    }
    .dark .fi-body .pt-rec-file { color: var(--pt-brand-300); }
    .fi-body .pt-rec-file:hover { color: var(--pt-brand-700); }
    .dark .fi-body .pt-rec-file:hover { color: #ffffff; }
    .fi-body .pt-rec-file:focus-visible { outline: 2px solid var(--pt-brand-500); outline-offset: 2px; border-radius: 0.35rem; }
    .fi-body .pt-rec-file-ic { flex: none; width: 1rem; height: 1rem; }
    .fi-body .pt-rec-file + .pt-rec-file { border-top: 1px solid var(--ptc-border); }
    .fi-body .pt-files { display: flex; flex-direction: column; min-width: 0; }
    .fi-body button.pt-rec-file {
        width: 100%;
        font-family: inherit;
        letter-spacing: inherit;
        text-align: start;
        background: none;
        border: 0;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
    }
    .fi-body .pt-rec-file-n { flex: 1 1 auto; min-width: 0; }
    .fi-body .pt-rec-file-go { flex: none; width: 0.85rem; height: 0.85rem; opacity: 0.6; }
    .fi-body .pt-rec-doc-note {
        margin-bottom: 0.55rem;
        font-size: 0.76rem;
        line-height: 1.5;
        color: var(--ptc-ink-soft);
    }
    .fi-body .pt-rec-doc {
        padding: 0.85rem 0.9rem;
        border: 1px solid var(--ptc-border);
        border-radius: 0.6rem;
        background: var(--ptc-surface);
        font-size: 0.82rem;
        line-height: 1.6;
        color: var(--ptc-ink);
        overflow-wrap: anywhere;
    }
    .fi-body .pt-rec-doc > :last-child { margin-bottom: 0; }
    .fi-body .pt-rec-doc p { margin: 0 0 0.6rem; }
    .fi-body .pt-rec-doc strong,
    .fi-body .pt-rec-doc b { font-weight: 700; }
    .fi-body .pt-rec-doc em,
    .fi-body .pt-rec-doc i { font-style: italic; }
    .fi-body .pt-rec-doc u { text-decoration: underline; }
    .fi-body .pt-rec-doc h1,
    .fi-body .pt-rec-doc h2,
    .fi-body .pt-rec-doc h3,
    .fi-body .pt-rec-doc h4,
    .fi-body .pt-rec-doc h5,
    .fi-body .pt-rec-doc h6 { margin: 0.9rem 0 0.4rem; font-size: 0.88rem; font-weight: 700; line-height: 1.35; }
    .fi-body .pt-rec-doc h1:first-child,
    .fi-body .pt-rec-doc h2:first-child,
    .fi-body .pt-rec-doc h3:first-child { margin-top: 0; }
    .fi-body .pt-rec-doc ul { margin: 0 0 0.6rem; padding-inline-start: 1.25rem; list-style: disc; }
    .fi-body .pt-rec-doc ol { margin: 0 0 0.6rem; padding-inline-start: 1.35rem; list-style: decimal; }
    .fi-body .pt-rec-doc li { margin-bottom: 0.2rem; }
    .fi-body .pt-rec-doc blockquote {
        margin: 0 0 0.6rem;
        padding-inline-start: 0.7rem;
        border-inline-start: 2px solid var(--ptc-border);
        color: var(--ptc-ink-soft);
    }
    .fi-body .pt-rec-doc a { color: var(--pt-brand-600); text-decoration: underline; text-underline-offset: 2px; }
    .dark .fi-body .pt-rec-doc a { color: var(--pt-brand-300); }
    .fi-body .pt-rec-doc table {
        display: block;
        max-width: 100%;
        margin: 0 0 0.6rem;
        overflow-x: auto;
        border-collapse: collapse;
    }
    .fi-body .pt-rec-doc th,
    .fi-body .pt-rec-doc td {
        padding: 0.3rem 0.45rem;
        border: 1px solid var(--ptc-border);
        text-align: start;
        vertical-align: top;
    }
    .fi-body .pt-rec-doc img { max-width: 100%; height: auto; }
    .fi-body .pt-lb {
        position: fixed;
        inset: 0;
        z-index: 70;
        display: flex;
        flex-direction: column;
        min-height: 0;
        padding-top: env(safe-area-inset-top, 0px);
        padding-bottom: env(safe-area-inset-bottom, 0px);
        background: rgba(2,6,16,0.92);
        color: #f2f4f8;
    }
    .fi-body .pt-lb-head {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        flex: none;
        padding: 0.4rem 0.5rem 0.4rem 0.9rem;
        border-bottom: 1px solid rgba(255,255,255,0.12);
    }
    .fi-body .pt-lb-name {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-size: 0.82rem;
        font-weight: 600;
        line-height: 1.3;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .fi-body .pt-lb-close {
        flex: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 9999px;
        color: #f2f4f8;
        background: rgba(255,255,255,0.10);
        border: 0;
        cursor: pointer;
    }
    .fi-body .pt-lb-close:hover { background: rgba(255,255,255,0.20); }
    .fi-body .pt-lb-close:focus-visible { outline: 2px solid #ffffff; outline-offset: 2px; }
    .fi-body .pt-lb-close-ic { width: 1.25rem; height: 1.25rem; }
    .fi-body .pt-lb-stage {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        overflow: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pinch-zoom;
        padding: 0.5rem;
    }
    .fi-body .pt-lb-img {
        flex: none;
        margin: auto;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        border-radius: 0.35rem;
        background: rgba(255,255,255,0.04);
        cursor: zoom-in;
    }
    .fi-body .pt-lb-img--zoom {
        max-width: none;
        max-height: none;
        width: auto;
        height: auto;
        min-width: 100%;
        cursor: zoom-out;
    }
    .fi-body .pt-lb-note {
        margin: auto;
        font-size: 0.8rem;
        line-height: 1.45;
        text-align: center;
        color: rgba(242,244,248,0.78);
    }
    .fi-body .pt-lb-foot {
        flex: none;
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        padding: 0.45rem 0.5rem calc(0.45rem + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid rgba(255,255,255,0.12);
    }
    .fi-body .pt-lb-act {
        flex: 1 1 5.5rem;
        min-width: 0;
        min-height: 44px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.12rem;
        padding: 0.3rem 0.25rem;
        border: 0;
        border-radius: 0.6rem;
        background: rgba(255,255,255,0.08);
        color: #f2f4f8;
        font-size: 0.7rem;
        font-weight: 600;
        line-height: 1.25;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
    }
    .fi-body .pt-lb-act:hover { background: rgba(255,255,255,0.16); color: #ffffff; }
    .fi-body .pt-lb-act:focus-visible { outline: 2px solid #ffffff; outline-offset: 2px; }
    .fi-body .pt-lb-act-ic { width: 1rem; height: 1rem; }
    @media (min-width: 640px) {
        .fi-body .pt-lb-head,
        .fi-body .pt-lb-foot,
        .fi-body .pt-lb-stage { box-sizing: border-box; width: 100%; max-width: 64rem; margin-inline: auto; }
        .fi-body .pt-lb-stage { padding: 1rem; }
        .fi-body .pt-lb-foot { justify-content: flex-end; }
        .fi-body .pt-lb-act { flex: 0 0 auto; flex-direction: row; gap: 0.35rem; padding: 0.3rem 0.75rem; font-size: 0.75rem; }
    }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .pt-lb { transition-duration: 0.01ms !important; }
    }
    .fi-body .pt-rec-alert {
        display: flex;
        align-items: flex-start;
        gap: 0.4rem;
        margin: 0;
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1.45;
        color: #b91c1c;
    }
    .dark .fi-body .pt-rec-alert { color: #fca5a5; }
    .fi-body .pt-rec-alert-ic { flex: none; width: 1rem; height: 1rem; margin-top: 0.1rem; }
    .fi-body .pt-rec-callout {
        display: grid;
        grid-template-columns: 1rem minmax(0, 1fr);
        gap: 0.15rem 0.45rem;
        padding: 0.5rem 0.7rem;
        border: 1px solid var(--pt-amber-200);
        border-radius: 0.7rem;
        background: var(--pt-amber-50);
    }
    .dark .fi-body .pt-rec-callout { border-color: rgba(245, 158, 11, 0.30); background: rgba(245, 158, 11, 0.10); }
    .fi-body .pt-rec-callout-ic { grid-column: 1; width: 1rem; height: 1rem; margin-top: 0.12rem; color: #b45309; }
    .dark .fi-body .pt-rec-callout-ic { color: #fbbf24; }
    .fi-body .pt-rec-callout-t { grid-column: 2; margin: 0; font-size: 0.72rem; font-weight: 700; line-height: 1.35; color: #92400e; }
    .dark .fi-body .pt-rec-callout-t { color: #fcd34d; }
    .fi-body .pt-rec-callout-b {
        grid-column: 2;
        margin: 0;
        font-size: 0.82rem;
        line-height: 1.45;
        color: #78350f;
        white-space: pre-line;
        overflow-wrap: anywhere;
    }
    .dark .fi-body .pt-rec-callout-b { color: #fde68a; }
    .fi-body .pt-rec-callout--danger { border-color: #fecaca; background: #fef2f2; }
    .dark .fi-body .pt-rec-callout--danger { border-color: rgba(248, 113, 113, 0.32); background: rgba(248, 113, 113, 0.10); }
    .fi-body .pt-rec-callout--danger .pt-rec-callout-ic { color: #b91c1c; }
    .dark .fi-body .pt-rec-callout--danger .pt-rec-callout-ic { color: #fca5a5; }
    .fi-body .pt-rec-callout--danger .pt-rec-callout-t { color: #991b1b; }
    .dark .fi-body .pt-rec-callout--danger .pt-rec-callout-t { color: #fecaca; }
    .fi-body .pt-rec-callout--danger .pt-rec-callout-b { color: #7f1d1d; }
    .dark .fi-body .pt-rec-callout--danger .pt-rec-callout-b { color: #fecaca; }
    .fi-body .pt-rec-handoff { display: flex; flex-direction: column; gap: 0.55rem; }
    .fi-body .pt-rec-handoff-t {
        display: flex;
        align-items: flex-start;
        gap: 0.4rem;
        margin: 0;
        font-size: 0.82rem;
        line-height: 1.45;
        color: var(--ptc-ink-soft);
    }
    .fi-body .pt-rec-handoff-ic { flex: none; width: 1rem; height: 1rem; margin-top: 0.12rem; color: var(--pt-brand-600); }
    .dark .fi-body .pt-rec-handoff-ic { color: var(--pt-brand-300); }
    .fi-body .pt-rec-answer { display: flex; flex-direction: column; gap: 0.55rem; }
    .fi-body .pt-rec-back {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        min-height: 44px;
        padding: 0.25rem 0.15rem;
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--ptc-ink-soft);
        transition: color .15s ease;
    }
    .fi-body .pt-rec-back:hover { color: var(--ptc-ink); }
    .fi-body .pt-rec-back:focus-visible { outline: 2px solid var(--pt-brand-500); outline-offset: 2px; border-radius: 0.4rem; }
    .fi-body .pt-rec-back-ic { flex: none; width: 1rem; height: 1rem; }
    @media (max-width: 1023.98px) {
        .fi-body .pt-rec-bar .pt-actionbar-row > * { flex: 1 1 5.25rem; }
        .fi-body .pt-rec-bar .pt-actionbar-row > button,
        .fi-body .pt-rec-bar .pt-actionbar-row > a { padding-inline: 0.4rem; font-size: 0.78rem; }
    }
    @media (max-width: 359.98px) {
        .fi-body .pt-rec-bar .pt-actionbar-row > * .ptc-btn-ic { display: none; }
    }
    .fi-body .pt-rec-sheet {
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
        padding: 0.5rem 0.55rem 0.55rem;
        border: 1px solid var(--ptc-border);
        border-radius: 0.7rem;
        background: var(--ptc-surface-2);
        max-height: min(50vh, 17rem);
        overflow-y: auto;
    }
    .fi-body .pt-rec-sheet-t { margin: 0; font-size: 0.74rem; font-weight: 700; line-height: 1.35; color: var(--ptc-ink); }
    .fi-body .pt-rec-sheet-h { margin: 0; font-size: 0.7rem; line-height: 1.4; color: var(--ptc-ink-soft); }
    .fi-body .pt-rec-note { min-height: 4rem; font-family: inherit; resize: vertical; }
    .fi-body .pt-rec-sheet-acts { display: flex; flex-wrap: wrap; gap: 0.4rem; }
    .fi-body .pt-rec-sheet-acts > * { flex: 1 1 9rem; min-width: 0; }
    .fi-body .ptc-btn:disabled,
    .fi-body .ptc-btn[disabled] { opacity: 0.45; cursor: not-allowed; }
    .fi-body .ptc-btn:disabled:active,
    .fi-body .ptc-btn[disabled]:active { transform: none; }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .pt-rec-file,
        .fi-body .pt-rec-back { transition: none; }
    }
    .fi-body .pt-qcard {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 0 0.55rem;
        padding: 0.5rem 0.6rem;
        margin-bottom: 0.5rem;
        border: 1px solid var(--ptc-border);
        border-radius: 0.65rem;
        background: var(--ptc-surface);
        box-shadow: none;
    }
    .fi-body .pt-qcard.is-unread {
        box-shadow: inset 3px 0 0 0 var(--pt-brand-500);
        background: color-mix(in srgb, var(--pt-brand-500) 4%, var(--ptc-surface));
    }
    .dark .fi-body .pt-qcard.is-unread {
        box-shadow: inset 3px 0 0 0 var(--pt-brand-400);
    }
    .fi-body .pt-qcard.pt-rowlink:focus-visible {
        outline: 2px solid var(--pt-brand-500);
        outline-offset: 2px;
        box-shadow: none;
    }
    .fi-body .pt-qcard.is-unread.pt-rowlink:focus-visible {
        box-shadow: inset 3px 0 0 0 var(--pt-brand-500);
    }
    .dark .fi-body .pt-qcard.is-unread.pt-rowlink:focus-visible {
        box-shadow: inset 3px 0 0 0 var(--pt-brand-400);
    }
    .fi-body .pt-qcard-face { align-self: center; }
    .fi-body .pt-qcard-glyph {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: none;
        width: 2rem;
        height: 2rem;
        border-radius: 0.5rem;
        background: color-mix(in srgb, var(--pt-brand-500) 10%, transparent);
        color: var(--pt-brand-600);
    }
    .dark .fi-body .pt-qcard-glyph { color: var(--pt-brand-300); }
    .fi-body .pt-qcard-glyph svg { width: 1rem; height: 1rem; display: block; }
    .fi-body .pt-qcard-main { min-width: 0; display: flex; flex-direction: column; gap: 0.15rem; }
    .fi-body .pt-qcard-lead {
        margin: 0;
        display: flex;
        align-items: center;
        gap: 0.3rem;
        min-width: 0;
    }
    .fi-body .pt-qcard-who {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.8125rem;
        line-height: 1.25;
        font-weight: 650;
        letter-spacing: -0.006em;
        color: var(--ptc-ink);
    }
    .fi-body .pt-qcard-age {
        flex: none;
        font-size: 0.6875rem;
        line-height: 1.25;
        color: var(--ptc-ink-soft);
    }
    .fi-body .pt-qcard-body {
        margin: 0;
        display: flex;
        align-items: baseline;
        gap: 0.4rem;
        min-width: 0;
    }
    .fi-body .pt-qcard-what {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.75rem;
        line-height: 1.35;
    }
    .fi-body .pt-qcard-subject { font-weight: 600; color: var(--ptc-ink); }
    .fi-body .pt-qcard-sum { color: var(--ptc-ink-soft); }
    .fi-body .pt-qcard-subject + .pt-qcard-sum::before {
        content: "·";
        margin: 0 0.3rem;
        color: var(--ptc-ink-faint);
    }
    .fi-body .pt-qcard-amt {
        flex: none;
        font-size: 0.75rem;
        line-height: 1.35;
        font-weight: 650;
        color: var(--ptc-ink);
    }
    .fi-body .pt-qcard-meta {
        margin: 0;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.2rem 0.25rem;
        min-width: 0;
    }
    .fi-body .pt-qcard-chip {
        display: inline-block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        padding: 0.1rem 0.3rem;
        border-radius: 0.3rem;
        border: 1px solid transparent;
        font-size: 0.625rem;
        line-height: 1.4;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }
    .fi-body .pt-qcard-flag {
        flex: 0 0 auto;
        background: var(--pt-amber-50);
        color: var(--pt-amber-800);
    }
    .dark .fi-body .pt-qcard-flag {
        background: color-mix(in srgb, var(--pt-amber-400) 18%, transparent);
        color: var(--pt-amber-300);
    }
    .fi-body .pt-qcard-stage {
        flex: 0 1 auto;
        min-width: 0;
        max-width: 11rem;
        border-color: var(--ptc-border);
        color: var(--ptc-ink-soft);
    }
    .fi-body .pt-qcard-co {
        flex: 0 4 auto;
        min-width: 0;
        max-width: 9rem;
        background: var(--pt-brand-50);
        color: var(--pt-brand-700);
    }
    .dark .fi-body .pt-qcard-co {
        background: color-mix(in srgb, var(--pt-brand-500) 18%, transparent);
        color: var(--pt-brand-300);
    }
    .fi-body .pt-qcard-chev {
        display: inline-flex;
        align-items: center;
        flex: none;
        color: var(--ptc-ink-soft);
        transition: transform .15s ease, color .15s ease;
    }
    .fi-body .pt-qcard-chev svg { width: 1rem; height: 1rem; display: block; }
    .fi-body .pt-qcard:hover .pt-qcard-chev { transform: translateX(2px); color: var(--pt-brand-600); }
    .dark .fi-body .pt-qcard:hover .pt-qcard-chev { color: var(--pt-brand-300); }
    @media (min-width: 640px) {
        .fi-body .pt-qcard { padding: 0.55rem 0.7rem; gap: 0 0.65rem; }
        .fi-body .pt-qcard-stage { max-width: 16rem; }
        .fi-body .pt-qcard-co { max-width: 14rem; }
    }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .pt-qcard-chev { transition: none; }
        .fi-body .pt-qcard:hover .pt-qcard-chev { transform: none; }
    }
    .fi-body .pt-histrow {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
        min-height: 2.75rem;
        padding: 0.55rem 0.75rem;
        margin-bottom: 0.5rem;
        border: 1px solid var(--ptc-border);
        border-radius: 0.85rem;
        background: var(--ptc-surface);
        color: inherit;
        text-decoration: none;
        transition: background-color 0.15s ease, border-color 0.15s ease;
    }
    .fi-body .pt-histrow:hover {
        background: var(--ptc-surface-2, var(--ptc-surface));
        border-color: var(--pt-brand-300);
    }
    .fi-body .pt-histrow:focus-visible {
        outline: 2px solid var(--pt-brand-500);
        outline-offset: 2px;
    }
    .fi-body .pt-team-tabs {
        display: inline-flex;
        width: auto;
        max-width: 100%;
        margin: 0 0 1rem;
    }
    .fi-body .pt-histrow-static:hover {
        background: var(--ptc-surface);
        border-color: var(--ptc-border);
    }
    .fi-body .pt-hist-month { display: inline-flex; min-width: 0; }
    .fi-body .pt-hist-month .pt-appr-input { width: auto; min-width: 9rem; }
    @media (prefers-reduced-motion: reduce) {
        .fi-body .pt-histrow { transition: none; }
    }
.pl-4 { padding-left: 1rem; }
