/**
 * FCL Dashboard 样式
 * 设计稿尺寸基线：Sidebar 256 / Avatar 128 / 内容区 max-width 800 (Figma 11:2310)
 *
 * 颜色策略：
 *   - 优先消费当前主题的 CSS 变量（--wp--preset--color-* 等）
 *   - 同时定义内部 token --fcl-* 作为 fallback
 *   - 主题没有匹配时使用合理的默认中性色
 */

/* 全局 border-box 重置：保证 padding 不会撑大盒子（Bridge / Qode 部分元素是 content-box） */
.fcl-dashboard,
.fcl-dashboard *,
.fcl-dashboard *::before,
.fcl-dashboard *::after {
    box-sizing: border-box;
}

/* Inter 字体（Figma 全站使用） */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700&display=swap');

/* ---------- design tokens（Figma 11:2160 精确值） ---------- */
.fcl-dashboard {
    /* 颜色：直接采用 Figma 取色，不再消费主题变量，确保设计一致 */
    --fcl-bg:             #ffffff;
    --fcl-surface:        #ffffff;
    --fcl-border:         #e5e7eb;
    --fcl-border-soft:    #f3f4f6;

    --fcl-text:           #0a0a0a;   /* 主文字 */
    --fcl-text-secondary: #4a5565;   /* 次文字（Role、About、Meta） */
    --fcl-text-muted:     #6a7282;   /* 弱文字（sidebar 非选中项） */
    --fcl-text-soft:      #99a1af;   /* 标签灰（CONTENT / About / Specialties） */

    --fcl-primary:        #000000;
    --fcl-primary-fg:     #ffffff;

    --fcl-radius-sm: 0;
    --fcl-radius:    0;
    --fcl-radius-lg: 0;

    --fcl-sidebar-w: 256px;
    --fcl-topbar-h:  80px;

    --fcl-theme-offset: 0px;

    /* Inter 字体优先，回退到主题字体 */
    font-family: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* 在 /fcl-dashboard/* 路由上隐藏主题自带的 header / footer / nav。
   只隐藏 NON-fcl 的 header/footer，避免误伤我们自己的 .fcl-lookbook__head 等。 */
body.fcl-dashboard-active header:not(.fcl-topbar):not([class*="fcl-"]),
body.fcl-dashboard-active footer:not(.fcl-topbar):not([class*="fcl-"]) {
    display: none !important;
}
/* 兜底：常见 Bridge / Qode header / footer wrapper（即使不是 <header>/<footer> 标签） */
body.fcl-dashboard-active .qodef-header-wrapper,
body.fcl-dashboard-active .qodef-page-header,
body.fcl-dashboard-active #qode-page-header,
body.fcl-dashboard-active .qodef-page-mobile-header,
body.fcl-dashboard-active #qodef-page-mobile-header,
body.fcl-dashboard-active .qodef-top-area,
body.fcl-dashboard-active .qodef-page-footer,
body.fcl-dashboard-active #qodef-page-footer,
body.fcl-dashboard-active .qodef-footer,
body.fcl-dashboard-active .qodef-footer-top-area,
body.fcl-dashboard-active .qodef-footer-bottom-area,
body.fcl-dashboard-active .qodef-footer-bottom-holder,
body.fcl-dashboard-active .qodef-bottom-area,
body.fcl-dashboard-active #qode-page-footer,
body.fcl-dashboard-active .qode-footer,
body.fcl-dashboard-active .qode_page_footer,
body.fcl-dashboard-active #back_to_top,
body.fcl-dashboard-active .qodef-back-to-top {
    display: none !important;
}
/* 同步：theme-offset 设回 0（已登录用户保留 32px 给 WP admin bar） */
body.fcl-dashboard-active .fcl-dashboard {
    --fcl-theme-offset: 0px;
}
body.fcl-dashboard-active.admin-bar .fcl-dashboard {
    --fcl-theme-offset: 32px;
}

/* ---------- 全局壳 ----------
   sidebar 和 topbar 改成 position:fixed 后，dashboard 不再用 grid。
   .fcl-main 用 margin-left + padding-top 让出 sidebar 和 topbar 空间。 */
.fcl-dashboard {
    display: block !important;
    min-height: 100vh;
    background: var(--fcl-bg);
    color: var(--fcl-text);
    font-family: 'Inter', -apple-system, sans-serif;
    position: relative;
    width: 100%;
    max-width: 100% !important;
    box-sizing: border-box;
}

.fcl-main {
    display: block !important;
    margin-left: var(--fcl-sidebar-w) !important;
    /* 80 (TopBar) + 32 (admin bar) + 100 (Bridge wrapper 负偏移兜底) = 212 */
    padding-top: calc(var(--fcl-theme-offset, 0px) + 80px + 100px) !important;
    min-height: 100vh;
}

/* TopBar：fixed 贴视口顶。
   Bridge wrapper 有 transform，导致 right:0 相对祖先而非视口；
   改用 width: calc(100vw - sidebar) 强制贴齐真实视口右边。 */
.fcl-dashboard .fcl-topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 0 48px !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 80px !important;
    min-height: 80px !important;
    background: #ffffff !important;
    position: fixed !important;
    top: var(--fcl-theme-offset, 0) !important;
    left: var(--fcl-sidebar-w) !important;
    width: calc(100vw - var(--fcl-sidebar-w)) !important;
    right: auto !important;
    z-index: 8 !important;
    border-bottom: 1px solid var(--fcl-border-soft) !important;
}
/* 右 cluster：用 margin-left:auto 兜底，确保被推到最右边 */
.fcl-dashboard .fcl-topbar > .fcl-topbar__right {
    margin-left: auto !important;
}
/* 防御：brand 容器（FCL 文字所在）—— sidebar 内顶到顶部不溢出 */
.fcl-dashboard .fcl-sidebar__brand {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 93px !important;
    padding: 32px 32px 1px !important;
    background: #ffffff !important;
    position: relative !important;
    z-index: 5 !important;
}

/* Figma main content 1323x839, padding 0/221/0/206。这里用 max-width 800 + 左 96/64 平衡感更好 */
.fcl-content {
    flex: 1;
    padding: 64px 96px;
    background: #ffffff;
}

.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

/* ---------- Sidebar (Figma 11:2161 - 256x919, #ffffff) ----------
   用 position:fixed 而非 sticky，因为 Bridge 父容器有 overflow:hidden 会杀死 sticky */
.fcl-sidebar {
    background: #ffffff;
    --fcl-sidebar-top: var(--fcl-theme-offset, 0px);
    display: flex !important;
    flex-direction: column;
    position: fixed !important;
    top: var(--fcl-sidebar-top, 0) !important;
    left: 0 !important;
    width: var(--fcl-sidebar-w) !important;
    height: calc(100vh - var(--fcl-sidebar-top, 0px)) !important;
    overflow-y: auto;
    z-index: 9 !important;
    border-right: 1px solid var(--fcl-border);
}
/* Brand container 255x93, padding 32/32/1/32 */
.fcl-sidebar__brand {
    padding: 32px 32px 1px;
}
/* Brand "FCL"：用 !important 抵御 Bridge 主题对 a 标签的全局 color 覆盖 */
.fcl-sidebar__brand-link,
.fcl-dashboard .fcl-sidebar__brand-link,
.fcl-dashboard .fcl-sidebar__brand-link:link,
.fcl-dashboard .fcl-sidebar__brand-link:visited {
    display: inline-block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    letter-spacing: 0.28em !important;
    color: #0a0a0a !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.fcl-dashboard .fcl-sidebar__brand-link:hover {
    color: #0a0a0a !important;
    text-decoration: none !important;
    opacity: 0.8 !important;
}
/* Navigation: padding 24/39/0/24, gap 32px between groups */
.fcl-sidebar__nav {
    padding: 24px 39px 0 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.fcl-sidebar__group {
    display: flex;
    flex-direction: column;
    gap: 12px;     /* Figma label-to-list gap */
}
.fcl-sidebar__group-label {
    margin: 0;
    padding: 0 16px;
    font-size: 12px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0.2em;        /* Figma 2.4 / 12 = 20% */
    color: var(--fcl-text-soft);  /* #99a1af */
}
.fcl-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;                     /* Figma list gap = 4px */
}
/* Core Actions group uses larger gap (8px in Figma) */
.fcl-sidebar__group--core .fcl-sidebar__list {
    gap: 8px;
}
.fcl-sidebar__link {
    display: flex;
    align-items: center;
    gap: 16px;                    /* Icon-text gap = 16px */
    height: 52px;                 /* Figma item height */
    padding: 0 16px;              /* Figma padding-left = 16px */
    color: var(--fcl-text-muted); /* #6a7282 */
    text-decoration: none;
    font-size: 14px;
    font-weight: 300;             /* Inter Light */
    line-height: 20px;
    letter-spacing: 0.0143em;     /* Figma 0.2 / 14 ≈ 1.4% */
    border-radius: 0;             /* No rounded corners */
    transition: background 0.15s, color 0.15s;
}
.fcl-sidebar__link:hover {
    color: var(--fcl-text);
    background: #f9fafb;
}
.fcl-sidebar__link.is-active {
    background: #000000;
    color: #ffffff;
    font-weight: 300;             /* Stays Light per Figma */
}
.fcl-sidebar__icon {
    display: inline-flex;
    width: 16px; height: 16px;
    flex-shrink: 0;
}
/* Bottom container: padding 25/24/0/24, gap 24px */
.fcl-sidebar__footer {
    padding: 25px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.fcl-sidebar__footer .fcl-sidebar__list {
    gap: 8px;
}
.fcl-sidebar__footer .fcl-sidebar__link {
    height: 40px;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.025em;      /* Figma 0.3 / 12 = 2.5% */
    color: var(--fcl-text-muted);
}
.fcl-sidebar__version {
    padding: 12px 16px 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.fcl-sidebar__version p {
    margin: 0;
    font-size: 12px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0.025em;
    color: var(--fcl-text-soft);  /* "Version" 灰一些 */
}
.fcl-sidebar__version p + p {
    color: var(--fcl-text-muted); /* "1.0.0" 深一些 */
}

/* ---------- TopBar (Figma 11:2287 - 1323x80) ---------- */
.fcl-topbar {
    height: var(--fcl-topbar-h);
    padding: 0 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #ffffff;
    border-bottom: 1px solid var(--fcl-border-soft); /* #f3f4f6 */
}
.fcl-search {
    position: relative;
    flex: 1;
    max-width: 480px;             /* 收窄一些，避免视口宽时过大 */
}
.fcl-search__icon {
    position: absolute;
    left: 14px; top: 50%;
    transform: translateY(-50%);
    color: #99a1af;               /* 比之前略深，更易看清 */
    pointer-events: none;
    width: 16px; height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.fcl-search__icon svg {
    width: 16px; height: 16px;
}
.fcl-search__input {
    width: 100%;
    height: 40px;                 /* 略增高，更易点击 */
    padding: 8px 16px 8px 40px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;           /* 加圆角，现代感 */
    background: #f9fafb;          /* 浅灰底，从白色背景中分离 */
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: -0.011em;
    transition: border-color 0.15s, background 0.15s;
}
.fcl-search__input::placeholder {
    color: #9ca3af;
}
.fcl-search__input:hover {
    background: #ffffff;
    border-color: #d1d5dc;
}
.fcl-search__input:focus {
    outline: none;
    background: #ffffff;
    border-color: #0a0a0a;        /* Figma 焦点态黑边 */
    box-shadow: 0 0 0 3px rgba(0,0,0,0.04);
}
.fcl-topbar__right {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-shrink: 0 !important;     /* 防被搜索框挤掉 */
    visibility: visible !important;
    opacity: 1 !important;
}
.fcl-topbar__right .fcl-iconbtn,
.fcl-topbar__right .fcl-userchip {
    flex-shrink: 0 !important;
    visibility: visible !important;
}
.fcl-iconbtn {
    position: relative;
    width: 40px; height: 40px;    /* 跟搜索框同高，对齐更整齐 */
    border-radius: 8px;           /* 圆角呼应搜索框 */
    border: 1px solid #e5e7eb;
    background: #ffffff;
    cursor: pointer;
    color: #6a7282;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.fcl-iconbtn:hover {
    color: #0a0a0a;
    background: #f9fafb;
    border-color: #d1d5dc;
}
.fcl-iconbtn svg {
    width: 18px; height: 18px;
}
.fcl-iconbtn__dot {
    position: absolute;
    top: 8px; right: 8px;
    width: 8px; height: 8px;      /* 略大，更明显 */
    border-radius: 50%;
    background: #ef4444;          /* 红色更符合通知点习惯 */
    border: 2px solid #ffffff;    /* 白圈描边 */
    box-sizing: content-box;
}
.fcl-userchip {
    display: flex;
    align-items: center;
    gap: 16px;                    /* Figma container has padding-left:1px between text and avatar; using 16 for breathing room */
}
.fcl-userchip__text {
    text-align: right;
    display: flex;
    flex-direction: column;
}
.fcl-userchip__name {
    margin: 0;
    font-size: 14px;
    font-weight: 300;             /* Figma Inter Light */
    line-height: 20px;
    letter-spacing: -0.011em;
    color: #0a0a0a;
}
.fcl-userchip__role {
    margin: 0;
    font-size: 12px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0.025em;
    color: var(--fcl-text-soft);  /* #99a1af */
}
.fcl-userchip__avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

/* ---------- 页面通用 (Figma) ---------- */
.fcl-page__title {
    font-size: 36px;              /* Figma H1 */
    font-weight: 300;             /* Inter Light */
    line-height: 40px;
    letter-spacing: -0.0148em;    /* Figma -0.53 / 36 */
    margin: 0 0 32px;
    color: var(--fcl-text);
}
.fcl-page__subtitle {
    margin: 0 0 24px;
    color: var(--fcl-text-muted);
}
.fcl-page__head {
    margin-bottom: 24px;
}
/* 卡片：Figma 用了 1px 底边分隔，没有阴影、没有圆角 */
.fcl-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin-bottom: 24px;
}
.fcl-card__head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 16px;
}
.fcl-card__title { margin: 0; font-size: 18px; font-weight: 400; }
.fcl-card__more  { color: var(--fcl-text-muted); font-size: 14px; text-decoration: none; }
.fcl-card__more:hover { color: var(--fcl-text); }
.fcl-divider { border: 0; border-top: 1px solid var(--fcl-border); margin: 32px 0; }
.fcl-muted   { color: var(--fcl-text-muted); }
.fcl-empty   { padding: 24px; text-align: center; }

/* ---------- 按钮 / 表单 (Figma 14px Inter Light, 无圆角) ---------- */
.fcl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;             /* Inter Light */
    line-height: 20px;
    letter-spacing: 0.089em;      /* Figma 1.25 / 14 */
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.15s, background 0.15s;
}
/* 主按钮文字色用 !important 抵御 Bridge 主题 a:hover { color } 覆盖 */
.fcl-dashboard .fcl-btn--primary,
.fcl-dashboard .fcl-btn--primary:link,
.fcl-dashboard .fcl-btn--primary:visited,
.fcl-dashboard .fcl-btn--primary:hover,
.fcl-dashboard .fcl-btn--primary:focus,
.fcl-dashboard .fcl-btn--primary:active {
    background: #000000 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
.fcl-dashboard .fcl-btn--primary:hover { opacity: 0.9 !important; }

.fcl-dashboard .fcl-btn--ghost,
.fcl-dashboard .fcl-btn--ghost:link,
.fcl-dashboard .fcl-btn--ghost:visited,
.fcl-dashboard .fcl-btn--ghost:hover,
.fcl-dashboard .fcl-btn--ghost:focus,
.fcl-dashboard .fcl-btn--ghost:active {
    background: transparent !important;
    border-color: var(--fcl-border) !important;
    color: var(--fcl-text) !important;
    text-decoration: none !important;
    letter-spacing: normal !important;
}
.fcl-dashboard .fcl-btn--ghost:hover { background: #f9fafb !important; }

.fcl-btn[disabled] { opacity: 0.5; cursor: not-allowed; }

.fcl-field { display: block; margin-bottom: 16px; }
.fcl-field__label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--fcl-text-muted);
    margin-bottom: 6px;
}
.fcl-field input,
.fcl-field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--fcl-border);
    border-radius: var(--fcl-radius);
    font-size: 14px;
    background: var(--fcl-surface);
    color: var(--fcl-text);
    font-family: inherit;
}
.fcl-field input:focus,
.fcl-field textarea:focus {
    outline: 2px solid var(--fcl-accent);
    outline-offset: 1px;
}

/* ---------- Profile 页 (Figma 11:2310 - 800x971) ---------- */
.fcl-page--profile { max-width: 800px; }
/* Figma header: 左 128 头像 + 48 gap + 右 624 文字 = 800 */
.fcl-profile__header {
    display: grid;
    grid-template-columns: 128px 1fr;
    gap: 48px;
    align-items: start;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--fcl-border);
}
.fcl-profile__avatar-wrap {
    position: relative;
    width: 128px; height: 128px;
    grid-column: 1;
    grid-row: 1;
}
.fcl-profile__identity { grid-column: 2; grid-row: 1; }
.fcl-profile__avatar {
    width: 128px; height: 128px;
    border-radius: 50%;                    /* Figma cornerRadius 极大值 = 圆 */
    object-fit: cover;
    background: #f3f4f6;
}
.fcl-profile__avatar-edit {
    position: absolute;
    bottom: 4px; right: 4px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #000000;
    color: #ffffff;
    border: 3px solid #ffffff;          /* 白边把按钮和头像分开 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: transform 0.15s;
}
.fcl-profile__avatar-edit:hover {
    transform: scale(1.05);
    color: #ffffff;
}
.fcl-profile__avatar-edit svg {
    width: 14px; height: 14px;
}
.fcl-profile__name {
    font-size: 30px;                       /* Figma H2 30px */
    font-weight: 300;                      /* Inter Light */
    line-height: 36px;
    letter-spacing: -0.0118em;             /* Figma -0.35 / 30 */
    margin: 0 0 4px;
    color: var(--fcl-text);
}
.fcl-profile__role {
    font-size: 18px;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: -0.0244em;             /* Figma -0.44 / 18 */
    margin: 0 0 24px;
    color: var(--fcl-text-secondary);      /* #4a5565 */
}
.fcl-profile__meta {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 12px;
}
.fcl-profile__meta li {
    display: flex; align-items: center; gap: 12px;
    color: var(--fcl-text-secondary);      /* #4a5565 */
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -0.011em;
}
.fcl-profile__meta-icon {
    width: 16px; height: 16px;
    color: var(--fcl-text-secondary);
    display: inline-flex;
    flex-shrink: 0;
}
.fcl-profile__section {
    margin-top: 32px;
}
.fcl-profile__section-title {
    font-size: 12px;
    font-weight: 300;
    line-height: 16px;
    text-transform: uppercase;             /* Figma 是混合大小写但 letter-spacing 让它呈大写视感；这里仍 uppercase 更清晰 */
    letter-spacing: 0.2em;                 /* Figma 2.4 / 12 = 20% */
    color: var(--fcl-text-soft);           /* #99a1af */
    margin: 0 0 16px;
}
.fcl-profile__about {
    font-size: 18px;
    font-weight: 300;
    line-height: 29.25px;                  /* Figma 1.625 */
    letter-spacing: -0.0244em;
    color: var(--fcl-text-secondary);      /* #4a5565 */
    margin: 0;
}
.fcl-tags {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: 8px;
}
.fcl-tag {
    padding: 9px 16px;                     /* 38px tall total */
    border: 1px solid var(--fcl-border);   /* #e5e7eb */
    border-radius: 0;                      /* Figma 矩形，无圆角 */
    background: transparent;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: 0.0143em;
    color: var(--fcl-text);                /* #0a0a0a */
}
.fcl-profile__actions {
    display: flex; gap: 12px;
    margin-top: 32px;
}
.fcl-profile__actions .fcl-btn--primary {
    width: 150px;                          /* Figma Edit Profile 150x48 */
    padding: 0;
}
.fcl-profile__msg {
    margin: 12px 0 0;
    font-size: 14px;
    min-height: 1.4em;
}
.fcl-profile__msg.is-success { color: #16a34a; }
.fcl-profile__msg.is-error   { color: #dc2626; }

/* 修复：[hidden] 必须胜过 .fcl-btn { display: inline-flex } */
.fcl-dashboard [hidden] { display: none !important; }

/* 编辑模式切换 */
.fcl-page--profile[data-edit="1"] .fcl-profile__view { display: none !important; }
.fcl-page--profile[data-edit="1"] .fcl-profile__edit { display: block !important; }
.fcl-page--profile[data-edit="1"] [data-fcl-action="edit"] { display: none !important; }
.fcl-page--profile[data-edit="1"] [data-fcl-action="save"],
.fcl-page--profile[data-edit="1"] [data-fcl-action="cancel"] { display: inline-flex !important; }
/* 默认（非编辑态）只显示 Edit Profile，藏起 Save/Cancel —— 即使 .fcl-btn 抢占 display */
.fcl-page--profile[data-edit="0"] [data-fcl-action="save"],
.fcl-page--profile[data-edit="0"] [data-fcl-action="cancel"] { display: none !important; }

/* ---------- Dashboard 主页：统计卡片 + 表格 ---------- */
.fcl-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.fcl-stat {
    background: var(--fcl-surface);
    border: 1px solid var(--fcl-border);
    border-radius: var(--fcl-radius-lg);
    padding: 24px;
    box-shadow: var(--fcl-shadow-card);
}
.fcl-stat__icon {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--fcl-radius-sm);
    background: var(--fcl-bg);
    color: var(--fcl-text-muted);
    margin-bottom: 12px;
}
.fcl-stat__label {
    margin: 0;
    font-size: 13px;
    color: var(--fcl-text-muted);
}
.fcl-stat__value {
    margin: 4px 0;
    font-size: 28px;
    font-weight: 700;
}
.fcl-stat__foot {
    margin: 0;
    font-size: 12px;
    color: var(--fcl-text-soft);
}

.fcl-table-wrap { overflow-x: auto; }
.fcl-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.fcl-table th, .fcl-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--fcl-border);
}
.fcl-table th {
    font-weight: 600;
    color: var(--fcl-text-muted);
    background: var(--fcl-bg);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.fcl-table tbody tr:last-child td { border-bottom: 0; }
.fcl-table__num { text-align: right; }

.fcl-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 500;
    background: var(--fcl-bg);
    color: var(--fcl-text-muted);
}
.fcl-badge--wc-completed   { background: #dcfce7; color: #166534; }
.fcl-badge--wc-processing  { background: #dbeafe; color: #1e40af; }
.fcl-badge--wc-pending     { background: #fef9c3; color: #854d0e; }
.fcl-badge--wc-on-hold     { background: #fed7aa; color: #9a3412; }
.fcl-badge--wc-cancelled   { background: #fee2e2; color: #991b1b; }
.fcl-badge--wc-refunded    { background: #ede9fe; color: #5b21b6; }
.fcl-badge--wc-failed      { background: #fee2e2; color: #991b1b; }

/* ---------- Dashboard 主页（按 Figma 截图） ---------- */
.fcl-page--home { max-width: 800px; }

/* Welcome */
.fcl-home__welcome {
    margin-bottom: 32px;
}
.fcl-home__hello {
    margin: 0 0 8px;
    font-size: 36px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.0148em;
    color: #0a0a0a;
}
.fcl-home__meta {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fcl-text-muted);
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
}
.fcl-home__dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #99a1af;
    display: inline-block;
}

/* Build your portfolio CTA */
.fcl-cta {
    border: 1px solid var(--fcl-border);
    padding: 40px;
    margin-bottom: 56px;
}
.fcl-cta__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 16px;
    font-size: 12px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
}
.fcl-cta__tag-icon {
    display: inline-flex;
    width: 16px; height: 16px;
    color: #0a0a0a;
}
.fcl-cta__tag-icon svg { width: 16px; height: 16px; }
.fcl-cta__title {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 300;
    line-height: 36px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-cta__desc {
    margin: 0 0 24px;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    color: var(--fcl-text-secondary);
}
.fcl-cta__btn {
    height: 48px;
    padding: 0 24px;
}
.fcl-btn__icon {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
}
.fcl-btn__icon svg { width: 16px; height: 16px; }

/* Grow your brand with FCL */
.fcl-services {
    margin-top: 0;
}
.fcl-services__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}
.fcl-services__title {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 300;
    line-height: 32px;
    letter-spacing: -0.0118em;
    color: #0a0a0a;
}
.fcl-services__sub {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    color: var(--fcl-text-secondary);
}

/* Monthly / Yearly toggle */
.fcl-billing-toggle {
    display: inline-flex;
    border: 1px solid var(--fcl-border);
    background: #f9fafb;
    padding: 4px;
    border-radius: 8px;
    flex-shrink: 0;
}
.fcl-billing-toggle__btn {
    border: 0;
    background: transparent;
    padding: 8px 20px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
    color: var(--fcl-text-muted);
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.15s, color 0.15s;
}
.fcl-billing-toggle__btn:hover {
    color: #0a0a0a;
}
.fcl-billing-toggle__btn.is-active {
    background: #000000;
    color: #ffffff;
}

/* Service list */
.fcl-services__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.fcl-service {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    padding: 28px 0;
    border-top: 1px solid var(--fcl-border);
}
.fcl-service:last-child {
    border-bottom: 1px solid var(--fcl-border);
}
.fcl-service__main {
    flex: 1;
    min-width: 0;
}
.fcl-service__head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}
.fcl-service__title {
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    color: #0a0a0a;
}
.fcl-service__price {
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: #0a0a0a;
}
.fcl-service__period {
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-muted);
    margin-left: -6px;
}
.fcl-service__save {
    display: inline-block;
    padding: 2px 8px;
    background: #f3f4f6;
    color: var(--fcl-text-muted);
    font-size: 12px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0.025em;
    border-radius: 4px;
}
.fcl-service__desc {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: var(--fcl-text-secondary);
    max-width: 540px;
}
.fcl-service__action {
    flex-shrink: 0;
}
.fcl-service__btn {
    height: 44px;
    padding: 0 20px;
    min-width: 140px;
}
.fcl-service__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0a0a0a;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    height: 44px;
    padding: 0 4px;
}
.fcl-service__link:hover {
    color: var(--fcl-text-secondary);
}
.fcl-service__link-icon {
    display: inline-flex;
    width: 14px; height: 14px;
}
.fcl-service__link-icon svg { width: 14px; height: 14px; }

/* ACTIVE 徽章 */
.fcl-badge--active {
    padding: 3px 10px;
    background: #dcfce7;
    color: #15803d;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    letter-spacing: 0.05em;
    border-radius: 4px;
    text-transform: uppercase;
}

/* Billing toggle 切换：data-billing 控制显示 */
.fcl-page--home[data-billing="monthly"] .fcl-service__save { display: none; }

/* ---------- Orders 页 ---------- */
.fcl-page--orders { max-width: 1200px; }
.fcl-page--orders .fcl-page__head { margin-bottom: 32px; }
.fcl-page--orders .fcl-page__subtitle {
    margin: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    color: var(--fcl-text-secondary);
}

/* 4 张统计卡 */
.fcl-orders__stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}
.fcl-orders__stat {
    border: 1px solid var(--fcl-border);
    padding: 24px;
    background: #ffffff;
}
.fcl-orders__stat-icon {
    display: inline-flex;
    width: 32px; height: 32px;
    align-items: center;
    justify-content: center;
    color: var(--fcl-text-soft);
    margin-bottom: 16px;
}
.fcl-orders__stat-icon svg { width: 20px; height: 20px; }
.fcl-orders__stat-value {
    margin: 0 0 4px;
    font-size: 32px;
    font-weight: 300;
    line-height: 36px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-orders__stat-label {
    margin: 0;
    font-size: 12px;
    font-weight: 300;
    line-height: 16px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
}

/* 操作按钮行 */
.fcl-orders__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
}
.fcl-orders__actions .fcl-btn {
    height: 44px;
    padding: 0 20px;
}
.fcl-orders__actions .fcl-btn__icon {
    margin-left: 0;
    margin-right: 4px;
}
.fcl-orders__actions .fcl-btn__icon svg { width: 16px; height: 16px; }

/* 搜索 + 筛选行 */
.fcl-orders__filterbar {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}
.fcl-orders__searchwrap {
    position: relative;
    flex: 1;
}
.fcl-orders__search-icon {
    position: absolute;
    left: 16px; top: 50%;
    transform: translateY(-50%);
    color: #99a1af;
    pointer-events: none;
    width: 16px; height: 16px;
    display: inline-flex;
}
.fcl-orders__search-icon svg { width: 16px; height: 16px; }
.fcl-orders__search {
    width: 100%;
    height: 44px;
    padding: 0 16px 0 44px;
    border: 1px solid var(--fcl-border);
    border-radius: 8px;
    background: #f9fafb;
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    transition: background 0.15s, border-color 0.15s;
}
.fcl-orders__search::placeholder { color: #9ca3af; }
.fcl-orders__search:focus {
    outline: none;
    background: #ffffff;
    border-color: #0a0a0a;
}
.fcl-orders__statuswrap {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.fcl-orders__status-label {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
}
.fcl-orders__status {
    height: 44px;
    padding: 0 36px 0 16px;
    border: 1px solid var(--fcl-border);
    border-radius: 8px;
    background: #ffffff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a7282' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 12px center;
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    min-width: 160px;
}
.fcl-orders__status:focus {
    outline: none;
    border-color: #0a0a0a;
}

/* 订单表格 */
.fcl-orders__tablewrap {
    overflow-x: auto;
    border: 1px solid var(--fcl-border);
}
.fcl-orders__table {
    width: 100%;
    border-collapse: collapse;
}
.fcl-orders__table thead th {
    padding: 16px 20px;
    text-align: left;
    background: #f9fafb;
    border-bottom: 1px solid var(--fcl-border);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
}
.fcl-orders__table tbody td {
    padding: 18px 20px;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text);
}
.fcl-orders__table tbody tr:last-child td { border-bottom: 0; }
.fcl-orders__table tbody tr:hover { background: #fafafa; }
.fcl-orders__id {
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-orders__num { text-align: right; font-weight: 400; }
.fcl-orders__action { text-align: right; }
.fcl-orders__view {
    color: #0a0a0a;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 14px;
    font-weight: 300;
}
.fcl-orders__view:hover { color: var(--fcl-text-secondary); }

/* 状态徽章 */
.fcl-status {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.02em;
}
.fcl-status--completed,
.fcl-status--delivered  { background: #0a0a0a; color: #ffffff; }
.fcl-status--shipped    { background: #ede9fe; color: #5b21b6; }
.fcl-status--processing { background: #fef9c3; color: #854d0e; }
.fcl-status--paid,
.fcl-status--on-hold    { background: #dbeafe; color: #1e40af; }
.fcl-status--pending    { background: #fef3c7; color: #92400e; }
.fcl-status--refunded   { background: #f3f4f6; color: #6a7282; }
.fcl-status--cancelled,
.fcl-status--failed     { background: #fee2e2; color: #991b1b; }

/* Load More */
.fcl-orders__loadmore {
    margin-top: 32px;
    display: flex;
    justify-content: center;
}
.fcl-orders__loadmore .fcl-btn {
    height: 44px;
    padding: 0 28px;
    min-width: 200px;
}

.fcl-orders__empty {
    border: 1px solid var(--fcl-border);
    padding: 64px 24px;
}

/* ---------- Earnings 页 ---------- */
.fcl-page--earnings { max-width: 1280px; }

.fcl-earnings__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}
.fcl-earnings__head .fcl-page__title { margin: 0 0 4px; }
.fcl-earnings__head .fcl-page__subtitle {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    color: var(--fcl-text-secondary);
}
.fcl-earnings__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}
.fcl-earnings__actions .fcl-btn {
    height: 44px;
    padding: 0 20px;
}

/* KPI 网格：左 1 大，右 4 小（2x2） */
.fcl-earnings__kpi {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 16px;
    margin-bottom: 32px;
}
.fcl-kpi {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    padding: 24px;
}
.fcl-kpi--primary {
    grid-row: span 2;
    border: 2px solid #0a0a0a;
    display: flex;
    flex-direction: column;
}
.fcl-kpi__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
}
.fcl-kpi__label {
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
}
.fcl-kpi__sublabel {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-kpi__icon-box {
    display: inline-flex;
    width: 36px; height: 36px;
    align-items: center;
    justify-content: center;
    background: #0a0a0a;
    color: #ffffff;
    border-radius: 8px;
    flex-shrink: 0;
}
.fcl-kpi__icon-box svg { width: 18px; height: 18px; }
.fcl-kpi__value-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.fcl-kpi__value {
    margin: 0;
    font-size: 40px;
    font-weight: 300;
    line-height: 44px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-kpi__change {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 400;
}
.fcl-kpi__change.is-up   { background: #dcfce7; color: #15803d; }
.fcl-kpi__change.is-down { background: #fee2e2; color: #991b1b; }
.fcl-kpi__change-icon { display: inline-flex; }
.fcl-kpi__change-icon svg { width: 14px; height: 14px; }
.fcl-kpi__foot {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}

/* 副 KPI 卡 */
.fcl-kpi__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.fcl-kpi__icon {
    display: inline-flex;
    width: 32px; height: 32px;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border-radius: 6px;
    color: var(--fcl-text-soft);
    flex-shrink: 0;
}
.fcl-kpi__icon svg { width: 16px; height: 16px; }
.fcl-kpi__icon--blue  { background: #dbeafe; color: #1d4ed8; }
.fcl-kpi__icon--green { background: #dcfce7; color: #15803d; }
.fcl-kpi__title {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: var(--fcl-text-secondary);
}
.fcl-kpi__num {
    margin: 0 0 4px;
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-kpi__sub {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-kpi__sub--blue  { color: #1d4ed8; }
.fcl-kpi__sub--green { color: #15803d; }

/* 月度走势图 */
.fcl-earnings__chart {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    padding: 24px;
    margin-bottom: 32px;
}
.fcl-earnings__chart-title {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-earnings__svg {
    width: 100%;
    height: 320px;
    display: block;
}

/* 明细表 */
.fcl-earnings__detail {
    margin-bottom: 32px;
}
.fcl-earnings__detail-head {
    margin-bottom: 16px;
}
.fcl-earnings__detail-title {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-earnings__detail-sub {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-earnings__net { font-weight: 500; color: #0a0a0a; }

/* Payout status badges */
.fcl-payout-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 400;
}
.fcl-payout-status--paid     { background: #dcfce7; color: #15803d; }
.fcl-payout-status--ready    { background: #dbeafe; color: #1d4ed8; }
.fcl-payout-status--pending  { background: #fef3c7; color: #92400e; }
.fcl-payout-status--refunded { background: #fee2e2; color: #991b1b; }

/* How Payouts Work 信息卡 */
.fcl-payouts-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 24px;
    color: #1e3a8a;
    font-size: 14px;
    line-height: 22px;
}
.fcl-payouts-info__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.fcl-payouts-info__icon {
    display: inline-flex;
    width: 18px; height: 18px;
    color: #1d4ed8;
}
.fcl-payouts-info__icon svg { width: 18px; height: 18px; }
.fcl-payouts-info__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1e3a8a;
}
.fcl-payouts-info__row {
    margin: 0 0 12px;
    font-weight: 300;
}
.fcl-payouts-info__row strong { font-weight: 600; }
.fcl-payouts-info__sub {
    margin: 16px 0 8px;
    font-weight: 600;
}
.fcl-payouts-info__list {
    margin: 0 0 16px;
    padding-left: 20px;
}
.fcl-payouts-info__list li {
    margin-bottom: 6px;
    font-weight: 300;
}
.fcl-payouts-info__list li strong { font-weight: 600; }
.fcl-payouts-info__note { font-style: italic; }

/* ---------- Lookbook 列表 ---------- */
.fcl-page--lookbook { max-width: 1320px; }
.fcl-lookbook__head {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 24px;
    margin-bottom: 32px;
    width: 100%;
}
.fcl-lookbook__head > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}
.fcl-lookbook__head .fcl-page__title { margin: 0 0 8px; }
.fcl-lookbook__head .fcl-page__subtitle {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-lookbook__head-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px;
    flex-shrink: 0 !important;
    margin-left: auto !important;
}
.fcl-lookbook__head .fcl-btn {
    height: 44px;
    padding: 0 20px;
    flex-shrink: 0;
}

/* 视图切换 */
.fcl-view-toggle {
    display: inline-flex;
    border: 1px solid var(--fcl-border);
    background: #ffffff;
}
.fcl-view-toggle__btn {
    border: 0;
    background: transparent;
    padding: 0;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--fcl-text-muted);
    transition: background 0.15s, color 0.15s;
}
.fcl-view-toggle__btn + .fcl-view-toggle__btn {
    border-left: 1px solid var(--fcl-border);
}
.fcl-view-toggle__btn:hover { color: #0a0a0a; }
.fcl-view-toggle__btn.is-active {
    background: #0a0a0a;
    color: #ffffff;
}
.fcl-view-toggle__btn svg { width: 18px; height: 18px; }

/* 空状态 */
.fcl-lookbook__empty {
    border: 1px dashed var(--fcl-border);
    padding: 80px 24px;
    text-align: center;
}
.fcl-lookbook__empty-icon {
    display: inline-flex;
    width: 56px; height: 56px;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border-radius: 50%;
    color: var(--fcl-text-soft);
    margin-bottom: 16px;
}
.fcl-lookbook__empty-icon svg { width: 28px; height: 28px; }
.fcl-lookbook__empty-title {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 300;
    color: #0a0a0a;
}
.fcl-lookbook__empty-desc {
    margin: 0 0 24px;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

/* 网格 */
.fcl-lookbook__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
/* 紧凑视图：6 列、不显示 body */
.fcl-lookbook__grid[data-view="compact"] {
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
}
.fcl-lookbook__grid[data-view="compact"] .fcl-lookcard__body {
    display: none;
}
.fcl-lookcard {
    background: transparent;
    border: 0;
    transition: transform 0.15s;
}
.fcl-lookcard__link {
    display: block;
    text-decoration: none;
    color: inherit;
}
/* v1.3.4: padding-top hack 替代 aspect-ratio — Safari 100% 兼容 */
.fcl-lookcard__cover {
    position: relative !important;
    width: 100% !important;
    height: 0 !important;
    padding-top: 125% !important;       /* 4:5 → 5/4 = 1.25 = 125% */
    background: #0a0a0a;
    overflow: hidden;
    display: block !important;
}
.fcl-lookcard__cover img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
    max-width: none !important;
    max-height: none !important;
    transition: transform 0.4s;
}
.fcl-lookcard__placeholder {
    position: absolute !important;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
.fcl-lookcard__link:hover .fcl-lookcard__cover img {
    transform: scale(1.03);
}
.fcl-lookcard__placeholder {
    display: inline-flex;
    color: rgba(255,255,255,0.4);
}
.fcl-lookcard__placeholder svg { width: 40px; height: 40px; }

/* "X Images" 角标（右下，白底胶囊） */
.fcl-lookcard__count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 4px 10px;
    background: #ffffff;
    color: #0a0a0a;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.fcl-lookcard__body {
    padding: 16px 0 0;
}
.fcl-lookcard__title {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    color: #0a0a0a;
}
.fcl-lookcard__cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
    margin: 0 0 8px;
}
.fcl-lookcard__desc {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
    color: var(--fcl-text-secondary);
    /* 限两行省略 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* "+ New Collection" 占位卡片 */
.fcl-lookcard--new {
    border: 1px dashed var(--fcl-border-strong, #d4d4d8);
    background: #fafafa;
}
.fcl-lookcard--new:hover {
    border-color: #0a0a0a;
    background: #f3f4f6;
}
.fcl-lookcard__link--new {
    display: flex !important;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 5;          /* 跟 cover 同比例 */
    margin-bottom: 16px;          /* 模拟 body 留白对齐其它卡 */
}
.fcl-lookcard__new-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: var(--fcl-text-muted);
}
.fcl-lookcard--new:hover .fcl-lookcard__new-inner { color: #0a0a0a; }
.fcl-lookcard__new-icon {
    display: inline-flex;
    width: 56px; height: 56px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid currentColor;
}
.fcl-lookcard__new-icon svg { width: 24px; height: 24px; }
.fcl-lookcard__new-text {
    font-size: 14px;
    font-weight: 400;
}

/* ---------- Lookbook 编辑表单 ---------- */
.fcl-page--lookbook-edit { max-width: 800px; }
.fcl-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fcl-text-muted);
    text-decoration: none;
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 24px;
}
.fcl-back:hover { color: #0a0a0a; }
.fcl-back__icon { display: inline-flex; }
.fcl-back__icon svg { width: 16px; height: 16px; }

.fcl-collection-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.fcl-form__section-title {
    margin: 0 0 16px;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
}
.fcl-form__section-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}
.fcl-form__section-row .fcl-form__section-title { margin: 0; }

.fcl-field {
    display: block;
    margin: 0;
}
.fcl-field__label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-field__req {
    color: #dc2626;
    margin-left: 2px;
}
.fcl-field__opt {
    color: var(--fcl-text-muted);
    font-weight: 300;
    margin-left: 4px;
}
.fcl-field input[type="text"],
.fcl-field textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--fcl-border);
    border-radius: 0;
    background: #ffffff;
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    transition: border-color 0.15s;
}
.fcl-field textarea {
    resize: vertical;
    min-height: 100px;
}
.fcl-field input[type="text"]:focus,
.fcl-field textarea:focus {
    outline: none;
    border-color: #0a0a0a;
}
.fcl-field input[type="text"]::placeholder,
.fcl-field textarea::placeholder {
    color: #9ca3af;
}

/* Segmented (Category radio) — 自适应宽度，按子元素数量平均分 */
.fcl-segmented {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 0;
    border: 1px solid var(--fcl-border);
}
.fcl-segmented__opt {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    border-right: 1px solid var(--fcl-border);
    font-size: 14px;
    font-weight: 400;
    color: var(--fcl-text-secondary);
}
.fcl-segmented__opt:last-child { border-right: 0; }
.fcl-segmented__opt input { position: absolute; opacity: 0; pointer-events: none; }
.fcl-segmented__opt:hover { background: #f9fafb; }
.fcl-segmented__opt.is-active {
    background: #0a0a0a;
    color: #ffffff;
}

/* Add Image link 按钮 */
.fcl-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 0;
    background: transparent;
    color: #0a0a0a;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    padding: 4px;
}
.fcl-link-btn:hover { color: var(--fcl-text-secondary); }
.fcl-link-btn__icon { display: inline-flex; }
.fcl-link-btn__icon svg { width: 16px; height: 16px; }

/* 图片上传行 */
.fcl-image-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.fcl-image-row {
    border: 1px solid var(--fcl-border);
    padding: 20px;
    background: #ffffff;
}
.fcl-image-row__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 12px;
}
.fcl-image-row__name {
    font-size: 14px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-image-row__hero {
    color: var(--fcl-text-muted);
    font-weight: 300;
    margin-left: 4px;
}
.fcl-image-row__remove {
    border: 0;
    background: transparent;
    color: var(--fcl-text-muted);
    cursor: pointer;
    padding: 4px;
    display: inline-flex;
}
.fcl-image-row__remove:hover { color: #dc2626; }
.fcl-image-row__remove svg { width: 16px; height: 16px; }

/* Uploader */
.fcl-uploader {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 200px;
    border: 1px dashed var(--fcl-border);
    cursor: pointer;
    background: #fafafa;
    position: relative;
    overflow: hidden;
    transition: border-color 0.15s, background 0.15s;
}
.fcl-uploader:hover {
    border-color: #0a0a0a;
    background: #f3f4f6;
}
.fcl-uploader__preview {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.fcl-uploader__hint {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--fcl-text-muted);
    font-size: 14px;
    font-weight: 300;
    z-index: 1;
}
.fcl-uploader__icon {
    display: inline-flex;
    width: 32px; height: 32px;
    align-items: center;
    justify-content: center;
}
.fcl-uploader__icon svg { width: 24px; height: 24px; }
.fcl-uploader.has-image .fcl-uploader__hint { display: none; }
.fcl-uploader.is-uploading {
    pointer-events: none;
    opacity: 0.6;
}

.fcl-image-row .fcl-field--inline {
    margin-top: 12px;
}

.fcl-form__actions {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}
.fcl-form__actions .fcl-btn {
    height: 48px;
    padding: 0 28px;
}
.fcl-form__msg {
    margin: 8px 0 0;
    font-size: 14px;
    min-height: 1.4em;
}
.fcl-form__msg.is-success { color: #16a34a; }
.fcl-form__msg.is-error   { color: #dc2626; }

/* ---------- My Products 列表 ---------- */
.fcl-page--products { max-width: 1320px; }

.fcl-products__head {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 24px;
    margin-bottom: 32px;
}
.fcl-products__head > div:first-child { flex: 1 1 auto; min-width: 0; }
.fcl-products__head .fcl-page__title { margin: 0 0 8px; }
.fcl-products__head .fcl-page__subtitle {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-products__head .fcl-btn {
    height: 44px;
    padding: 0 20px;
    flex-shrink: 0;
    margin-left: auto !important;
}

.fcl-products__filterbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

/* Tabs（All / Live / Review / Draft） */
.fcl-tabs {
    display: inline-flex;
    border: 1px solid var(--fcl-border);
    background: #ffffff;
}
.fcl-tab {
    border: 0;
    background: transparent;
    height: 40px;
    padding: 0 22px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 300;
    cursor: pointer;
    color: var(--fcl-text-muted);
    transition: background 0.15s, color 0.15s;
    border-right: 1px solid var(--fcl-border);
}
.fcl-tab:last-child { border-right: 0; }
.fcl-tab:hover { color: #0a0a0a; }
.fcl-tab.is-active {
    background: #0a0a0a;
    color: #ffffff;
}

.fcl-products__searchwrap {
    position: relative;
    width: 240px;
}
.fcl-products__search-icon {
    position: absolute;
    left: 14px; top: 50%;
    transform: translateY(-50%);
    color: #99a1af;
    width: 16px; height: 16px;
    display: inline-flex;
    pointer-events: none;
}
.fcl-products__search-icon svg { width: 16px; height: 16px; }
.fcl-products__search {
    width: 100%;
    height: 40px;
    padding: 0 16px 0 40px;
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 13px;
    font-weight: 300;
}
.fcl-products__search:focus { outline: none; border-color: #0a0a0a; }
.fcl-products__search::placeholder { color: #9ca3af; }

/* 网格 */
.fcl-products__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.fcl-product {
    background: transparent;
}
.fcl-product__link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.fcl-product__cover {
    position: relative;
    aspect-ratio: 1 / 1;
    background: #f3f4f6;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fcl-product__cover img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s;
}
.fcl-product__link:hover .fcl-product__cover img { transform: scale(1.03); }
.fcl-product__placeholder {
    color: var(--fcl-text-soft);
    display: inline-flex;
}
.fcl-product__placeholder svg { width: 40px; height: 40px; }

/* 状态徽章 */
.fcl-product__badge {
    position: absolute;
    top: 12px; left: 12px;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 16px;
}
.fcl-product__badge--live   { background: #0a0a0a; color: #ffffff; }
.fcl-product__badge--review { background: #ffffff; color: #0a0a0a; }
.fcl-product__badge--draft  { background: #f3f4f6; color: #4a5565; }

.fcl-product__body {
    padding: 16px 0 0;
}
.fcl-product__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
}
.fcl-product__title {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    color: #0a0a0a;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fcl-product__price {
    font-size: 14px;
    font-weight: 400;
    color: #0a0a0a;
    flex-shrink: 0;
}
.fcl-product__sku {
    margin: 0;
    font-size: 12px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}

/* ---------- Add New Product 表单 ---------- */
.fcl-page--add-product { max-width: 720px; margin: 0 auto; }
.fcl-page--add-product .fcl-page__head {
    text-align: center;
    margin-bottom: 40px;
}
.fcl-page--add-product .fcl-page__title { margin: 0 0 8px; }
.fcl-page--add-product .fcl-page__subtitle {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-product-form {
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.fcl-product-form__images {
    text-align: center;
}
.fcl-product-form__images .fcl-form__section-title {
    text-align: center;
    margin: 0 0 16px;
}
.fcl-product-uploader {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 240px;
    border: 2px dashed var(--fcl-border);
    cursor: pointer;
    background: #fafafa;
    position: relative;
    overflow: hidden;
    transition: border-color 0.15s, background 0.15s;
}
.fcl-product-uploader:hover {
    border-color: #0a0a0a;
    background: #f3f4f6;
}
.fcl-product-uploader__preview {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.fcl-product-uploader__hint {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--fcl-text-muted);
    font-size: 14px;
    font-weight: 300;
}
.fcl-product-uploader__icon {
    width: 32px; height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.fcl-product-uploader__icon svg { width: 24px; height: 24px; }
.fcl-product-uploader.has-image .fcl-product-uploader__hint { display: none; }
.fcl-product-uploader.is-uploading { pointer-events: none; opacity: 0.6; }

/* underline 风格输入（设计稿样式：只有底边线） */
.fcl-field__label--caps {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--fcl-text-soft);
    margin-bottom: 12px;
}
.fcl-field--underline,
.fcl-product-form input[type="text"],
.fcl-product-form input[type="number"],
.fcl-product-form textarea,
.fcl-product-form__select {
    width: 100%;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--fcl-border);
    border-radius: 0;
    background: transparent;
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 16px;
    font-weight: 300;
    transition: border-color 0.15s;
}
.fcl-product-form input:focus,
.fcl-product-form textarea:focus,
.fcl-product-form__select:focus {
    outline: none;
    border-bottom-color: #0a0a0a;
}
.fcl-product-form input::placeholder,
.fcl-product-form textarea::placeholder {
    color: #9ca3af;
}
.fcl-product-form textarea {
    resize: vertical;
    min-height: 80px;
}
.fcl-product-form__select {
    appearance: none;
    -webkit-appearance: none;
    background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a7282' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 0 center;
    padding-right: 24px;
    cursor: pointer;
}

.fcl-form__row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.fcl-form__actions--end {
    justify-content: flex-end;
    margin-top: 16px;
}

/* ---------- Digital Campaign 服务页 ---------- */
.fcl-page--campaign { max-width: 1080px; margin: 0 auto; }

/* Hero */
.fcl-camp-hero {
    text-align: center;
    padding: 64px 24px 80px;
}
.fcl-camp-hero__tag {
    margin: 0 0 16px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.2em;
    color: var(--fcl-text-soft);
}
.fcl-camp-hero__title {
    margin: 0 0 16px;
    font-size: 48px;
    font-weight: 300;
    line-height: 56px;
    letter-spacing: -0.02em;
    color: #0a0a0a;
}
.fcl-camp-hero__sub {
    margin: 0 auto 32px;
    max-width: 640px;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    color: var(--fcl-text-secondary);
}
.fcl-camp-hero__price {
    margin: 0 0 8px;
    font-size: 56px;
    font-weight: 300;
    line-height: 60px;
    letter-spacing: -0.02em;
    color: #0a0a0a;
}
.fcl-camp-hero__per {
    font-size: 18px;
    font-weight: 300;
    color: var(--fcl-text-muted);
    margin-left: 4px;
}
.fcl-pub-hero__from {
    display: block;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.fcl-camp-hero__perks {
    margin: 0 0 32px;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-camp-hero__cta {
    height: 56px;
    padding: 0 32px;
    font-size: 15px;
}
.fcl-camp-hero__social {
    margin: 32px 0 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}

/* 通用 section title */
.fcl-camp-section-title {
    margin: 0 0 8px;
    font-size: 32px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
    text-align: center;
}
.fcl-camp-section-sub {
    margin: 0 0 40px;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
    text-align: center;
}

/* Why */
.fcl-camp-why {
    background: #f9fafb;
    padding: 64px 32px;
    margin: 0 -96px 0;            /* 突破 .fcl-content padding 拉满 */
}
.fcl-camp-why__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 1080px;
    margin: 0 auto;
}
.fcl-camp-feat { text-align: center; }
.fcl-camp-feat__icon {
    display: inline-flex;
    width: 56px; height: 56px;
    align-items: center;
    justify-content: center;
    background: #0a0a0a;
    color: #ffffff;
    margin-bottom: 20px;
}
.fcl-camp-feat__icon svg { width: 24px; height: 24px; }
.fcl-camp-feat__title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-camp-feat__desc {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: var(--fcl-text-secondary);
}

/* Everything Included */
.fcl-camp-included {
    padding: 80px 0;
}
.fcl-camp-included__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 48px;
}
.fcl-camp-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.fcl-camp-item__icon {
    display: inline-flex;
    width: 36px; height: 36px;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    color: #0a0a0a;
    flex-shrink: 0;
}
.fcl-camp-item__icon svg { width: 18px; height: 18px; }
.fcl-camp-item__title {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-camp-item__desc {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: var(--fcl-text-secondary);
}

/* Quote */
.fcl-camp-quote {
    background: #f9fafb;
    padding: 64px 48px;
    margin: 0 -96px 0;
    text-align: center;
}
.fcl-camp-quote__text {
    max-width: 720px;
    margin: 0 auto 24px;
    font-size: 22px;
    font-weight: 300;
    line-height: 32px;
    color: #0a0a0a;
}
.fcl-camp-quote__cite { margin: 0 0 24px; }
.fcl-camp-quote__name {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-camp-quote__role {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-camp-quote__count {
    margin: 32px 0 0;
    padding-top: 32px;
    border-top: 1px solid var(--fcl-border);
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}

/* Exposure（黑色 banner） */
.fcl-camp-exposure {
    background: #0a0a0a;
    color: #ffffff;
    padding: 80px 32px;
    margin: 0 -96px 0;
    text-align: center;
}
.fcl-camp-exposure__icon {
    display: inline-flex;
    width: 56px; height: 56px;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    margin-bottom: 24px;
}
.fcl-camp-exposure__icon svg { width: 28px; height: 28px; }
.fcl-camp-exposure__title {
    margin: 0 0 16px;
    font-size: 80px;
    font-weight: 300;
    line-height: 88px;
    letter-spacing: -0.02em;
    color: #ffffff;
}
.fcl-camp-exposure__sub {
    margin: 0 0 16px;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: #ffffff;
}
.fcl-camp-exposure__desc {
    margin: 0 auto 32px;
    max-width: 640px;
    font-size: 15px;
    font-weight: 300;
    line-height: 24px;
    color: #d1d5dc;
}
.fcl-camp-exposure__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}
.fcl-camp-exposure__list li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 300;
    color: #ffffff;
}
.fcl-camp-exposure__check {
    display: inline-flex;
    width: 18px; height: 18px;
    align-items: center;
    justify-content: center;
    color: #22c55e;
}
.fcl-camp-exposure__check svg { width: 18px; height: 18px; }

/* FAQ */
.fcl-camp-faq {
    padding: 80px 0;
}
.fcl-camp-faq__list {
    max-width: 720px;
    margin: 0 auto;
}
.fcl-camp-faq__item {
    border-bottom: 1px solid var(--fcl-border);
}
.fcl-camp-faq__item[open] {
    background: #fafafa;
}
.fcl-camp-faq__q {
    list-style: none;
    cursor: pointer;
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 15px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-camp-faq__q::-webkit-details-marker { display: none; }
.fcl-camp-faq__chev {
    display: inline-flex;
    transition: transform 0.2s;
    color: var(--fcl-text-muted);
}
.fcl-camp-faq__chev svg { width: 16px; height: 16px; }
.fcl-camp-faq__item[open] .fcl-camp-faq__chev { transform: rotate(180deg); }
.fcl-camp-faq__a {
    margin: 0;
    padding: 0 24px 20px;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: var(--fcl-text-secondary);
}
.fcl-camp-faq__more {
    text-align: center;
    margin: 32px 0 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-camp-faq__more a {
    color: #0a0a0a;
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-left: 4px;
}

/* ---------- Campaign Manage 页 ---------- */
.fcl-page--campaign-manage { max-width: 880px; margin: 0 auto; }

/* Header */
.fcl-cm-head { margin-bottom: 24px; }
.fcl-cm-head__title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 8px;
}
.fcl-cm-head__h1 {
    margin: 0;
    font-size: 32px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-cm-head__price {
    font-size: 16px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-cm-head__active {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #15803d;
}
.fcl-cm-head__desc {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

/* Status row */
.fcl-cm-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--fcl-border);
    margin-bottom: 32px;
}
.fcl-cm-status__pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-cm-status__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.15);
}
.fcl-cm-status__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0a0a0a;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}
.fcl-cm-status__link:hover { color: var(--fcl-text-secondary); }
.fcl-cm-status__link svg { width: 16px; height: 16px; }

/* Stats */
.fcl-cm-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--fcl-border);
    margin-bottom: 48px;
}
.fcl-cm-stat__label {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--fcl-text-soft);
}
.fcl-cm-stat__value {
    margin: 0 0 4px;
    font-size: 36px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-cm-stat__sub {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-cm-stat__sub--up { color: #15803d; }

/* Form */
.fcl-cm-form__title {
    margin: 0 0 8px;
    font-size: 24px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-cm-form__sub {
    margin: 0 0 32px;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-cm-form__body {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.fcl-cm-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--fcl-border);
    border-radius: 0;
    background: #ffffff;
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    transition: border-color 0.15s;
}
.fcl-cm-input:focus { outline: none; border-color: #0a0a0a; }
.fcl-cm-input::placeholder { color: #9ca3af; }
textarea.fcl-cm-input { resize: vertical; min-height: 100px; }

.fcl-field__hint {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-field__opt--inline {
    margin-left: auto;
    font-size: 11px;
    color: var(--fcl-text-soft);
    text-transform: none;
    letter-spacing: 0;
}

/* Drop zone */
.fcl-cm-drop {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 48px 24px;
    border: 1px dashed var(--fcl-border-strong, #d4d4d8);
    background: #fafafa;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.fcl-cm-drop:hover,
.fcl-cm-drop.is-dragover {
    border-color: #0a0a0a;
    background: #f3f4f6;
}
.fcl-cm-drop__icon {
    display: inline-flex;
    width: 40px; height: 40px;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    color: var(--fcl-text-muted);
    border-radius: 50%;
}
.fcl-cm-drop__icon svg { width: 20px; height: 20px; }
.fcl-cm-drop__main {
    margin: 4px 0 0;
    font-size: 14px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-cm-drop__hint {
    margin: 0;
    font-size: 12px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}

/* Files preview list */
.fcl-cm-files {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
}
.fcl-cm-files__item {
    position: relative;
    aspect-ratio: 1 / 1;
    background: #f3f4f6;
    overflow: hidden;
    border: 1px solid var(--fcl-border);
}
.fcl-cm-files__item img,
.fcl-cm-files__item video {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.fcl-cm-files__item-tag {
    position: absolute;
    top: 6px; left: 6px;
    padding: 2px 6px;
    background: rgba(10, 10, 10, 0.75);
    color: #ffffff;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.fcl-cm-files__remove {
    position: absolute;
    top: 6px; right: 6px;
    width: 24px; height: 24px;
    border: 0;
    background: rgba(10, 10, 10, 0.75);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.fcl-cm-files__remove svg { width: 12px; height: 12px; }

.fcl-cm-form__submit {
    width: 100%;
    height: 56px;
    margin-top: 16px;
}

/* ---------- Billing 页 ---------- */
.fcl-page--billing { max-width: 1080px; margin: 0 auto; }
.fcl-page--billing .fcl-page__head { margin-bottom: 32px; }
.fcl-page--billing .fcl-page__subtitle {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

.fcl-billing__card {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    padding: 28px 32px;
    margin-bottom: 24px;
}
.fcl-billing__card--soft { background: #f9fafb; }

.fcl-billing__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}
.fcl-billing__card-title {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-billing__card-sub {
    margin: 4px 0 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

.fcl-billing__spend {
    text-align: right;
    flex-shrink: 0;
}
.fcl-billing__spend-label {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--fcl-text-soft);
}
.fcl-billing__spend-value {
    margin: 0;
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: #0a0a0a;
}

/* 当前订阅子卡 */
.fcl-billing__sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border: 1px solid var(--fcl-border);
    background: #ffffff;
}
.fcl-billing__sub + .fcl-billing__sub { margin-top: 12px; }
.fcl-billing__sub-main { flex: 1; min-width: 0; }
.fcl-billing__sub-title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 500;
    color: #0a0a0a;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.fcl-billing__sub-active {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #15803d;
}
.fcl-billing__sub-meta {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 24px;
    margin: 0;
}
.fcl-billing__sub-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-billing__sub-icon {
    display: inline-flex;
    width: 14px; height: 14px;
    color: var(--fcl-text-soft);
}
.fcl-billing__sub-icon svg { width: 14px; height: 14px; }

.fcl-billing__sub .fcl-btn--ghost {
    height: 40px;
    padding: 0 20px;
    flex-shrink: 0;
}

/* Available Services */
.fcl-billing__avail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 16px;
}
.fcl-billing__avail-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, transform 0.15s;
}
.fcl-billing__avail-item:hover {
    border-color: #0a0a0a;
}
.fcl-billing__avail-name {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-billing__avail-price {
    margin: 0;
    font-size: 22px;
    font-weight: 300;
    color: #0a0a0a;
}
.fcl-billing__avail-cycle {
    font-size: 13px;
    color: var(--fcl-text-muted);
    margin-left: 4px;
}
.fcl-billing__avail-arrow {
    display: inline-flex;
    color: var(--fcl-text-muted);
    flex-shrink: 0;
}
.fcl-billing__avail-arrow svg { width: 18px; height: 18px; }

/* Payment History 表格 */
.fcl-billing__card .fcl-btn--ghost {
    height: 40px;
    padding: 0 16px;
}
.fcl-billing__table-wrap { overflow-x: auto; }
.fcl-billing__table {
    width: 100%;
    border-collapse: collapse;
}
.fcl-billing__table thead th {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--fcl-border);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--fcl-text-soft);
    background: transparent;
}
.fcl-billing__table tbody td {
    padding: 16px;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text);
}
.fcl-billing__table tbody tr:last-child td { border-bottom: 0; }
.fcl-billing__inv-no { font-weight: 500; color: #0a0a0a; }
.fcl-billing__num { text-align: right; font-weight: 500; }
.fcl-billing__action { text-align: right; }
.fcl-billing__dl {
    color: #0a0a0a;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}
.fcl-billing__dl:hover { color: var(--fcl-text-secondary); }

.fcl-billing__pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 400;
}
.fcl-billing__pill svg { width: 12px; height: 12px; }
.fcl-billing__pill--paid   { background: #dcfce7; color: #15803d; }
.fcl-billing__pill--failed { background: #fee2e2; color: #991b1b; }

/* Payment Method 蓝色卡 */
.fcl-billing__pm {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    padding: 20px 24px;
    margin-bottom: 0;
}
.fcl-billing__pm-icon {
    display: inline-flex;
    width: 24px; height: 24px;
    align-items: center;
    justify-content: center;
    color: #1d4ed8;
    flex-shrink: 0;
    margin-top: 2px;
}
.fcl-billing__pm-icon svg { width: 22px; height: 22px; }
.fcl-billing__pm-title {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 600;
    color: #1e3a8a;
}
.fcl-billing__pm-desc {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 300;
    color: #1e40af;
}
.fcl-billing__pm-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}
.fcl-billing__pm-link:hover { color: #1e3a8a; }
.fcl-billing__pm-link svg { width: 14px; height: 14px; }

/* ---------- Subscribe 订阅确认页 ---------- */
.fcl-page--subscribe { max-width: 720px; margin: 0 auto; }
.fcl-page--subscribe .fcl-page__head { margin-bottom: 32px; }
.fcl-page--subscribe .fcl-page__title { margin: 0 0 4px; }
.fcl-page--subscribe .fcl-page__subtitle {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

.fcl-sub-summary {
    background: #f9fafb;
    border: 1px solid var(--fcl-border);
    padding: 28px 32px;
    margin-bottom: 32px;
}
.fcl-sub-summary__title {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-sub-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--fcl-border);
    margin-bottom: 12px;
}
.fcl-sub-summary__name {
    font-size: 16px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-sub-summary__price {
    font-size: 22px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-sub-summary__cycle {
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-muted);
    margin-left: 2px;
}
.fcl-sub-summary__note {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

/* Form */
.fcl-sub-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.fcl-sub-form .fcl-form__section-title {
    margin: 0 0 0;
    border-bottom: 1px solid var(--fcl-border);
    padding-bottom: 16px;
}
.fcl-sub-form__submit {
    width: 100%;
    height: 56px;
    margin-top: 8px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.fcl-sub-form__cancel {
    text-align: center;
    margin: 0;
    font-size: 13px;
    font-weight: 300;
}
.fcl-sub-form__cancel a {
    color: var(--fcl-text-muted);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}
.fcl-sub-form__cancel a:hover { color: #0a0a0a; }

/* ---------- Subscribe Success 页 ---------- */
.fcl-page--sub-success {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.fcl-sub-success__hero {
    margin-bottom: 40px;
}
.fcl-sub-success__check {
    display: inline-flex;
    width: 80px; height: 80px;
    align-items: center;
    justify-content: center;
    background: #0a0a0a;
    color: #ffffff;
    border-radius: 50%;
    margin-bottom: 24px;
}
.fcl-sub-success__check svg {
    width: 36px; height: 36px;
    stroke-width: 2.5;
}
.fcl-sub-success__title {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-sub-success__sub {
    margin: 0;
    font-size: 16px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

/* 详情卡 */
.fcl-sub-success__card {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    padding: 32px;
    margin-bottom: 32px;
    text-align: center;
}
.fcl-sub-success__tag {
    margin: 0 0 12px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    color: var(--fcl-text-soft);
}
.fcl-sub-success__service {
    margin: 0 0 8px;
    font-size: 24px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-sub-success__service-desc {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-sub-success__divider {
    margin: 24px 0;
    border: 0;
    border-top: 1px solid var(--fcl-border);
}
.fcl-sub-success__list {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.fcl-sub-success__list li {
    position: relative;
    padding: 8px 0 8px 20px;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: var(--fcl-text-secondary);
}
.fcl-sub-success__list li::before {
    content: '';
    position: absolute;
    left: 4px; top: 17px;
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #0a0a0a;
}

/* 底部按钮 */
.fcl-sub-success__actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.fcl-sub-success__actions .fcl-btn {
    height: 52px;
    padding: 0 28px;
}

/* ---------- Service Manage 页（E-Commerce 管理） ---------- */
.fcl-page--svc-manage { max-width: 1200px; margin: 0 auto; }

.fcl-svc-manage__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}
.fcl-svc-manage__title {
    margin: 0 0 8px;
    font-size: 32px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-svc-manage__sub {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-svc-manage__active {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.15em;
    color: #15803d;
    flex-shrink: 0;
    margin-top: 8px;
}
.fcl-svc-manage__active-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #22c55e;
}

/* Stats */
.fcl-svc-manage__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 32px;
}
.fcl-svc-stat {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    padding: 24px;
}
.fcl-svc-stat__label {
    margin: 0 0 12px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    color: var(--fcl-text-soft);
}
.fcl-svc-stat__row {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
    margin: 0;
}
.fcl-svc-stat__value {
    font-size: 36px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-svc-stat__delta {
    font-size: 13px;
    font-weight: 500;
    color: #15803d;
}

/* Body 2 columns */
.fcl-svc-manage__body {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
}

/* 左主区 section title */
.fcl-form__section-title--mt { margin-top: 32px; }
.fcl-form__section-title--danger { color: #dc2626; }

/* 行式 */
.fcl-svc-rows {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
}
.fcl-svc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--fcl-border);
    text-decoration: none;
    color: inherit;
}
.fcl-svc-row:last-child { border-bottom: 0; }
.fcl-svc-row__label {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--fcl-text-soft);
    text-transform: uppercase;
}
.fcl-svc-row__val {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-svc-row__link {
    color: #0a0a0a;
    font-size: 14px;
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.fcl-svc-row__icon {
    color: var(--fcl-text-soft);
    display: inline-flex;
}
.fcl-svc-row__icon svg { width: 18px; height: 18px; }

.fcl-svc-row--link { transition: background 0.15s; }
.fcl-svc-row--link:hover { background: #fafafa; }
.fcl-svc-row__lead {
    display: inline-flex;
    align-items: center;
    gap: 16px;
}
.fcl-svc-row__lead-icon {
    width: 36px; height: 36px;
    background: #f3f4f6;
    color: #0a0a0a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fcl-svc-row__lead-icon svg { width: 18px; height: 18px; }
.fcl-svc-row__hint {
    margin: 4px 0 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-svc-row__arrow {
    color: var(--fcl-text-muted);
    display: inline-flex;
}
.fcl-svc-row__arrow svg { width: 18px; height: 18px; }

/* Danger Zone */
.fcl-svc-danger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    border: 1px solid #fecaca;
    background: #fef2f2;
    text-decoration: none;
    color: #991b1b;
    transition: background 0.15s;
}
.fcl-svc-danger:hover { background: #fee2e2; color: #7f1d1d; }
.fcl-svc-danger__title {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 500;
    color: inherit;
}
.fcl-svc-danger__hint {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: #b91c1c;
}
.fcl-svc-danger__icon { display: inline-flex; }
.fcl-svc-danger__icon svg { width: 18px; height: 18px; }

/* 右侧栏 */
.fcl-svc-manage__side {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.fcl-svc-side-card {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    padding: 24px;
}
.fcl-svc-side-card__label {
    margin: 0 0 16px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    color: var(--fcl-text-soft);
}
.fcl-svc-quick {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--fcl-border);
    margin-bottom: 8px;
    text-decoration: none;
    color: #0a0a0a;
    font-size: 14px;
    font-weight: 400;
    transition: background 0.15s, border-color 0.15s;
}
.fcl-svc-quick:last-child { margin-bottom: 0; }
.fcl-svc-quick:hover { background: #fafafa; border-color: #0a0a0a; }
.fcl-svc-quick__icon {
    display: inline-flex;
    width: 16px; height: 16px;
    color: var(--fcl-text-muted);
    flex-shrink: 0;
}
.fcl-svc-quick__icon svg { width: 16px; height: 16px; }

.fcl-svc-side-card--next { text-align: center; }
.fcl-svc-next__amount {
    margin: 0 0 8px;
    font-size: 36px;
    font-weight: 300;
    line-height: 40px;
    color: #0a0a0a;
}
.fcl-svc-next__date {
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}

/* ---------- Cancel Subscription 页 ---------- */
.fcl-page--cancel { max-width: 720px; margin: 0 auto; }

.fcl-cancel__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}
.fcl-cancel__icon {
    display: inline-flex;
    width: 44px; height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fef2f2;
    color: #dc2626;
    flex-shrink: 0;
}
.fcl-cancel__icon svg { width: 24px; height: 24px; }
.fcl-cancel__title {
    margin: 0;
    font-size: 32px;
    font-weight: 300;
    line-height: 40px;
    color: #0a0a0a;
}
.fcl-cancel__sub {
    margin: 0 0 32px;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

.fcl-cancel__form {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.fcl-cancel__form .fcl-form__section-title {
    margin-bottom: 12px;
}

/* WHAT YOU'LL LOSE 红色块 */
.fcl-cancel__lose {
    border: 1px solid #fecaca;
    background: #fef2f2;
    padding: 24px 28px;
    margin-bottom: 24px;
}
.fcl-cancel__lose-lead {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 500;
    color: #991b1b;
}
.fcl-cancel__lose-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.fcl-cancel__lose-list li {
    position: relative;
    padding: 6px 0 6px 20px;
    font-size: 14px;
    font-weight: 300;
    color: #991b1b;
}
.fcl-cancel__lose-list li::before {
    content: '';
    position: absolute;
    left: 4px; top: 14px;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #dc2626;
}

/* Reasons (radio) */
.fcl-cancel__reasons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
}
.fcl-cancel__reason {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.fcl-cancel__reason:hover { border-color: #0a0a0a; }
.fcl-cancel__reason input { position: absolute; opacity: 0; pointer-events: none; }
.fcl-cancel__reason-dot {
    width: 16px; height: 16px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid #d1d5dc;
    flex-shrink: 0;
    position: relative;
    transition: all 0.15s;
}
.fcl-cancel__reason input:checked ~ .fcl-cancel__reason-dot {
    background: #0a0a0a;
    border-color: #0a0a0a;
}
.fcl-cancel__reason input:checked ~ .fcl-cancel__reason-dot::after {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #ffffff;
}
.fcl-cancel__reason-text {
    font-size: 15px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-cancel__reason input:checked ~ .fcl-cancel__reason-text { font-weight: 500; }

/* Feedback textarea */
.fcl-cancel__form textarea.fcl-cm-input {
    margin-bottom: 24px;
}

/* Before you cancel notice */
.fcl-cancel__notice {
    border: 1px solid var(--fcl-border);
    background: #f9fafb;
    padding: 24px 28px;
    margin-bottom: 32px;
}
.fcl-cancel__notice-title {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-cancel__notice-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.fcl-cancel__notice-list li {
    position: relative;
    padding: 4px 0 4px 16px;
    font-size: 13px;
    font-weight: 300;
    line-height: 22px;
    color: var(--fcl-text-secondary);
}
.fcl-cancel__notice-list li::before {
    content: '';
    position: absolute;
    left: 4px; top: 12px;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--fcl-text-muted);
}

/* Actions */
.fcl-cancel__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.fcl-cancel__confirm {
    height: 56px;
    background: #dc2626 !important;
    color: #ffffff !important;
    border: 0 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
.fcl-cancel__confirm:hover { opacity: 0.9 !important; }
.fcl-cancel__keep { height: 56px; }

/* ---------- Modal 通用 ---------- */
.fcl-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.fcl-modal[hidden] { display: none; }
.fcl-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    cursor: pointer;
}
.fcl-modal__panel {
    position: relative;
    background: #ffffff;
    width: 100%;
    max-width: 480px;
    padding: 36px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    animation: fcl-modal-in 0.18s ease-out;
}
@keyframes fcl-modal-in {
    from { transform: translateY(8px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}
.fcl-modal__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}
.fcl-modal__title {
    margin: 0;
    font-size: 22px;
    font-weight: 500;
    color: #0a0a0a;
    line-height: 28px;
}
.fcl-modal__desc {
    margin: 0 0 28px;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: var(--fcl-text-secondary);
}
.fcl-modal__desc strong { font-weight: 500; color: #0a0a0a; }
.fcl-modal__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fcl-modal__actions .fcl-btn {
    height: 52px;
    width: 100%;
}

/* ---------- Auth / Change Password 页（Sign In 风格） ---------- */
.fcl-page--auth { display: block; }

/* Sign In / Apply / Onboarding / Change Password 页：藏 sidebar + topbar，main 全宽 */
body.fcl-dashboard-active .fcl-dashboard[data-module="sign-in"] .fcl-sidebar,
body.fcl-dashboard-active .fcl-dashboard[data-module="sign-in"] .fcl-topbar,
body.fcl-dashboard-active .fcl-dashboard[data-module="apply"] .fcl-sidebar,
body.fcl-dashboard-active .fcl-dashboard[data-module="apply"] .fcl-topbar,
body.fcl-dashboard-active .fcl-dashboard[data-module="onboarding"] .fcl-sidebar,
body.fcl-dashboard-active .fcl-dashboard[data-module="onboarding"] .fcl-topbar,
body.fcl-dashboard-active .fcl-dashboard[data-module="change-password"] .fcl-sidebar,
body.fcl-dashboard-active .fcl-dashboard[data-module="change-password"] .fcl-topbar {
    display: none !important;
}
body.fcl-dashboard-active .fcl-dashboard[data-module="sign-in"] .fcl-main,
body.fcl-dashboard-active .fcl-dashboard[data-module="apply"] .fcl-main,
body.fcl-dashboard-active .fcl-dashboard[data-module="onboarding"] .fcl-main,
body.fcl-dashboard-active .fcl-dashboard[data-module="change-password"] .fcl-main {
    margin-left: 0 !important;
    padding-top: 32px !important;
}

/* Apply 头像（onboarding 复用） */
.fcl-apply__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px; height: 96px;
    border-radius: 50%;
    background: #f3f4f6;
    border: 2px dashed #d1d5dc;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    transition: background 0.15s, border-color 0.15s;
}
.fcl-apply__avatar:hover { background: #e5e7eb; border-color: #0a0a0a; }
.fcl-apply__avatar-preview {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    border-radius: 50%;
    overflow: hidden;
}
.fcl-apply__avatar-empty {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--fcl-text-muted);
    pointer-events: none;
}
.fcl-apply__avatar-empty svg { width: 30px; height: 30px; }
.fcl-apply__avatar-edit {
    position: absolute;
    bottom: -2px; right: -2px;
    width: 30px; height: 30px;
    border-radius: 50%;
    background: #0a0a0a;
    color: #ffffff;
    border: 2px solid #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    z-index: 2;
}
.fcl-apply__avatar-edit svg { width: 12px; height: 12px; }
.fcl-apply__avatar.has-image { background: #fff; border-style: solid; border-color: var(--fcl-border); }
.fcl-apply__avatar.has-image .fcl-apply__avatar-empty { display: none; }

/* Onboarding 向导 */
.fcl-page--onboarding { display: block; }
.fcl-onboard {
    max-width: 520px;
    margin: 40px auto 80px;
    text-align: center;
}
.fcl-onboard__progress {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 40px;
}
.fcl-onboard__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--fcl-border);
    transition: background 0.2s;
}
.fcl-onboard__dot.is-active { background: #0a0a0a; }
.fcl-onboard__step-label {
    margin-left: 8px;
    font-size: 11px;
    letter-spacing: 0.2em;
    color: var(--fcl-text-soft);
    text-transform: uppercase;
}
.fcl-onboard__step {
    background: #ffffff;
}
.fcl-onboard__icon-big {
    display: inline-flex;
    width: 64px; height: 64px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f3f4f6;
    color: #0a0a0a;
    margin-bottom: 24px;
}
.fcl-onboard__icon-big svg { width: 28px; height: 28px; }
.fcl-onboard__icon-big--done {
    background: #0a0a0a;
    color: #ffffff;
}
.fcl-onboard__title {
    margin: 0 0 12px;
    font-size: 32px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.012em;
    color: #0a0a0a;
}
.fcl-onboard__sub {
    margin: 0 0 32px;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}
.fcl-onboard__bullets {
    list-style: none;
    margin: 0 auto 32px;
    padding: 0;
    text-align: left;
    max-width: 320px;
}
.fcl-onboard__bullets li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    font-size: 14px;
    color: var(--fcl-text);
}
.fcl-onboard__bullets li span {
    display: inline-flex;
    color: #15803d;
}
.fcl-onboard__bullets li svg { width: 16px; height: 16px; stroke-width: 2.5; }

.fcl-onboard__form {
    text-align: left;
}
.fcl-onboard__form .fcl-onboard__title,
.fcl-onboard__form .fcl-onboard__sub { text-align: center; }
.fcl-onboard__avatar-wrap {
    text-align: center;
    margin: 24px 0 32px;
}
.fcl-onboard__form .fcl-auth__field { margin-bottom: 28px; }

.fcl-onboard__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 8px;
}
.fcl-onboard__actions .fcl-btn {
    height: 52px;
    padding: 0 28px;
    min-width: 160px;
}

.fcl-auth__remember {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
    cursor: pointer;
    user-select: none;
}
.fcl-auth__remember input { width: 16px; height: 16px; cursor: pointer; }
.fcl-auth {
    max-width: 460px;
    margin: 40px auto 80px;
    text-align: center;
}
.fcl-auth__brand {
    display: inline-block;
    font-size: 28px;
    font-weight: 700;
    line-height: 32px;
    letter-spacing: 0.28em;
    color: #0a0a0a !important;
    text-decoration: none !important;
    margin-bottom: 56px;
}
.fcl-auth__title {
    margin: 0 0 16px;
    font-size: 48px;
    font-weight: 300;
    line-height: 56px;
    letter-spacing: -0.02em;
    color: #0a0a0a;
}
.fcl-auth__sub {
    margin: 0 0 40px;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    color: var(--fcl-text-secondary);
}
.fcl-auth__form {
    display: flex;
    flex-direction: column;
    gap: 28px;
    text-align: left;
    margin-bottom: 32px;
}
.fcl-auth__field { display: block; }
.fcl-auth__label,
.fcl-auth__label-row {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    color: var(--fcl-text-soft);
    text-transform: uppercase;
}
.fcl-auth__label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.fcl-auth__link {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--fcl-text-muted) !important;
    text-decoration: none !important;
}
.fcl-auth__link:hover { color: #0a0a0a !important; }
.fcl-auth__input {
    width: 100%;
    padding: 8px 0 12px;
    border: 0;
    border-bottom: 1px solid var(--fcl-border);
    border-radius: 0;
    background: transparent;
    color: var(--fcl-text);
    font-family: inherit;
    font-size: 16px;
    font-weight: 300;
    transition: border-color 0.15s;
}
.fcl-auth__input:focus { outline: none; border-bottom-color: #0a0a0a; }
.fcl-auth__input::placeholder { color: #9ca3af; }
.fcl-auth__input:disabled { color: var(--fcl-text-muted); cursor: not-allowed; }
.fcl-auth__submit {
    width: 100%;
    height: 56px;
    letter-spacing: 0.1em;
    font-size: 14px;
    margin-top: 8px;
}
.fcl-auth__more {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-auth__apply {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0a0a0a;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}
.fcl-auth__apply:hover { color: var(--fcl-text-secondary); }
.fcl-auth__apply svg { width: 14px; height: 14px; }

/* ---------- Designer Applications 审批后台 ---------- */
.fcl-page--apps { max-width: 1320px; }
.fcl-apps__head { margin-bottom: 24px; }
.fcl-apps__head .fcl-page__title { margin: 0 0 4px; }
.fcl-apps__head .fcl-page__subtitle {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    color: var(--fcl-text-secondary);
}

/* 4 张状态卡 */
.fcl-apps__stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.fcl-apps-stat {
    display: block;
    padding: 20px 24px;
    background: #ffffff;
    border: 1px solid var(--fcl-border);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s;
}
.fcl-apps-stat:hover { border-color: #0a0a0a; }
.fcl-apps-stat.is-active { border-color: #0a0a0a; box-shadow: inset 0 0 0 1px #0a0a0a; }
.fcl-apps-stat__label {
    margin: 0 0 12px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--fcl-text-soft);
}
.fcl-apps-stat__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
}
.fcl-apps-stat__value {
    font-size: 32px;
    font-weight: 300;
    line-height: 36px;
    color: #0a0a0a;
}
.fcl-apps-stat__icon {
    display: inline-flex;
    width: 32px; height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.fcl-apps-stat__icon svg { width: 18px; height: 18px; }
.fcl-apps-stat--pending   .fcl-apps-stat__icon { background: #fef3c7; color: #b45309; }
.fcl-apps-stat--approved  .fcl-apps-stat__icon { background: #dcfce7; color: #15803d; }
.fcl-apps-stat--rejected  .fcl-apps-stat__icon { background: #fee2e2; color: #dc2626; }
.fcl-apps-stat--more-info .fcl-apps-stat__icon { background: #dbeafe; color: #1d4ed8; }

/* 2 列：左 list + 右 detail */
.fcl-apps__body {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 16px;
    min-height: 600px;
}
.fcl-apps__list {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    max-height: 720px;
    overflow-y: auto;
}
.fcl-apps__list-count {
    margin: 0;
    padding: 16px 20px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--fcl-text-soft);
    border-bottom: 1px solid var(--fcl-border);
    position: sticky;
    top: 0;
    background: #ffffff;
    z-index: 1;
}
.fcl-apps__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid #f3f4f6;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}
.fcl-apps__item:hover { background: #fafafa; }
.fcl-apps__item.is-active { background: #f3f4f6; }
.fcl-apps__item-main { flex: 1; min-width: 0; }
.fcl-apps__item-name {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 500;
    color: #0a0a0a;
}
.fcl-apps__item-meta {
    margin: 0 0 2px;
    font-size: 12px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-apps__item-date {
    margin: 4px 0 0;
    font-size: 12px;
    font-weight: 300;
    color: var(--fcl-text-soft);
}
.fcl-apps__item-status {
    display: inline-flex;
    width: 24px; height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    flex-shrink: 0;
}
.fcl-apps__item-status svg { width: 14px; height: 14px; }
.fcl-apps__item-status--pending   { background: #fef3c7; color: #b45309; }
.fcl-apps__item-status--approved  { background: #dcfce7; color: #15803d; }
.fcl-apps__item-status--rejected  { background: #fee2e2; color: #dc2626; }
.fcl-apps__item-status--more-info { background: #dbeafe; color: #1d4ed8; }

/* Right detail */
.fcl-apps__detail {
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    padding: 28px 32px;
}
.fcl-apps__empty { padding: 64px 24px; text-align: center; }
.fcl-apps__detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}
.fcl-apps__detail-name {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 400;
    color: #0a0a0a;
}
.fcl-apps__detail-no {
    margin: 0;
    font-size: 12px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-apps__detail-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    flex-shrink: 0;
}
.fcl-apps__detail-pill svg { width: 12px; height: 12px; }
.fcl-apps__detail-pill--pending   { background: #fef3c7; color: #b45309; }
.fcl-apps__detail-pill--approved  { background: #dcfce7; color: #15803d; }
.fcl-apps__detail-pill--rejected  { background: #fee2e2; color: #dc2626; }
.fcl-apps__detail-pill--more-info { background: #dbeafe; color: #1d4ed8; }

.fcl-apps__sec {
    margin: 24px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--fcl-border);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.15em;
    color: var(--fcl-text-soft);
}
.fcl-apps__grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 32px;
}
.fcl-apps__field-label {
    margin: 0 0 2px;
    font-size: 12px;
    font-weight: 300;
    color: var(--fcl-text-muted);
}
.fcl-apps__field-val {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #0a0a0a;
    word-break: break-word;
}

.fcl-apps__links {
    list-style: none;
    margin: 0;
    padding: 0;
}
.fcl-apps__links li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    font-size: 14px;
}
.fcl-apps__links a {
    color: #0a0a0a;
    text-decoration: underline;
    text-underline-offset: 3px;
    word-break: break-all;
}
.fcl-apps__link-icon {
    display: inline-flex;
    color: var(--fcl-text-muted);
}
.fcl-apps__link-icon svg { width: 14px; height: 14px; }

.fcl-apps__note {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--fcl-border);
    background: #ffffff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
    color: var(--fcl-text);
    resize: vertical;
    min-height: 80px;
}
.fcl-apps__note:focus { outline: none; border-color: #0a0a0a; }

.fcl-apps__actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.fcl-apps__actions .fcl-btn {
    height: 48px;
    padding: 0 24px;
    letter-spacing: 0.05em;
    font-size: 13px;
    font-weight: 500;
}
.fcl-apps__btn-approve { min-width: 200px; }

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
    .fcl-dashboard { grid-template-columns: 1fr; }
    .fcl-sidebar { position: relative; height: auto; }
    .fcl-stats   { grid-template-columns: repeat(2, 1fr); }
    .fcl-content, .fcl-topbar { padding-left: 24px; padding-right: 24px; }
    .fcl-profile__header { grid-template-columns: 1fr; gap: 24px; text-align: left; }
}
@media (max-width: 640px) {
    .fcl-stats { grid-template-columns: 1fr; }
    .fcl-page__title { font-size: 24px; }
    .fcl-userchip__text { display: none; }
}

/* ============================================================
 * Admin Dashboard (v1.1.50)
 * ============================================================ */

/* Sidebar ADMIN 角标 */
.fcl-sidebar__brand-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #ffffff;
    background: #0a0a0a;
    border-radius: 999px;
    vertical-align: middle;
    line-height: 1.4;
}

/* Admin sidebar 主色调微调（保持极简黑白，仅 brand badge 已足够区分） */
.fcl-sidebar--admin .fcl-sidebar__brand {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

/* ---------- Admin Overview Page ---------- */
.fcl-page--admin-overview {
    max-width: 1280px;
}
.fcl-admin__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
.fcl-admin__eyebrow {
    margin: 0 0 8px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #9ca3af;
}
.fcl-admin__head-actions { display: flex; align-items: center; gap: 12px; }
.fcl-admin__badge {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
    color: #ffffff;
    background: #b45309;
    border-radius: 999px;
    line-height: 1.4;
}

/* KPI Grid */
.fcl-admin__kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}
.fcl-admin__kpi {
    display: flex;
    flex-direction: column;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.fcl-admin__kpi:hover {
    border-color: #0a0a0a;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    transform: translateY(-1px);
    text-decoration: none;
}
.fcl-admin__kpi--primary {
    background: #0a0a0a;
    border-color: #0a0a0a;
    color: #ffffff;
}
.fcl-admin__kpi--primary:hover { color: #ffffff; }
.fcl-admin__kpi-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #9ca3af;
    margin-bottom: 12px;
}
.fcl-admin__kpi--primary .fcl-admin__kpi-label { color: rgba(255,255,255,0.6); }
.fcl-admin__kpi-value {
    font-family: 'Inter', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 12px;
}
.fcl-admin__kpi-value--pending { color: #b45309; }
.fcl-admin__kpi-foot {
    font-size: 13px;
    color: #6b7280;
    margin-top: auto;
}
.fcl-admin__kpi--primary .fcl-admin__kpi-foot { color: rgba(255,255,255,0.6); }

/* 两栏 */
.fcl-admin__cols {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 24px;
}
.fcl-admin__panel {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
}
.fcl-admin__panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f3f4f6;
}
.fcl-admin__panel-title {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #0a0a0a;
}
.fcl-admin__panel-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #6b7280;
    text-decoration: none;
}
.fcl-admin__panel-link:hover { color: #0a0a0a; }
.fcl-admin__panel-link svg { width: 14px; height: 14px; }

/* Recent applications list */
.fcl-admin__list { list-style: none; padding: 0; margin: 0; }
.fcl-admin__list-item + .fcl-admin__list-item { border-top: 1px solid #f3f4f6; }
.fcl-admin__list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    text-decoration: none;
    color: inherit;
}
.fcl-admin__list-row:hover .fcl-admin__list-name { text-decoration: underline; }
.fcl-admin__list-main { flex: 1; min-width: 0; }
.fcl-admin__list-name {
    margin: 0 0 4px;
    font-weight: 600;
    color: #0a0a0a;
}
.fcl-admin__list-meta {
    margin: 0;
    font-size: 12px;
    color: #9ca3af;
}
.fcl-admin__status {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px;
    white-space: nowrap;
}
.fcl-admin__status--pending   { background: #fef3c7; color: #b45309; }
.fcl-admin__status--approved  { background: #d1fae5; color: #065f46; }
.fcl-admin__status--rejected  { background: #fee2e2; color: #991b1b; }
.fcl-admin__status--more-info { background: #dbeafe; color: #1e40af; }

.fcl-admin__empty {
    text-align: center;
    padding: 40px 0;
    color: #9ca3af;
}

/* Quick action shortcuts */
.fcl-admin__shortcuts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.fcl-admin__shortcut {
    display: grid;
    grid-template-columns: 32px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 12px;
    row-gap: 2px;
    padding: 12px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.fcl-admin__shortcut:hover {
    border-color: #0a0a0a;
    background: #fafafa;
    text-decoration: none;
}
.fcl-admin__shortcut-icon {
    grid-row: 1 / 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px; height: 32px;
    border-radius: 8px;
    background: #f3f4f6;
    color: #0a0a0a;
}
.fcl-admin__shortcut-icon svg { width: 16px; height: 16px; }
.fcl-admin__shortcut-title {
    font-weight: 600;
    color: #0a0a0a;
    font-size: 14px;
}
.fcl-admin__shortcut-sub {
    font-size: 12px;
    color: #9ca3af;
}
.fcl-admin__shortcut--soon {
    opacity: 0.6;
    pointer-events: none;
}
.fcl-admin__shortcut--soon .fcl-admin__shortcut-sub {
    color: #b45309;
}

/* Section label between groups */
.fcl-admin__shortcut-section {
    margin: 16px 0 8px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #9ca3af;
}
.fcl-admin__shortcut-section:first-of-type {
    margin-top: 0;
}

/* External (WP Admin) shortcuts: small arrow icon next to title */
.fcl-admin__shortcut--ext .fcl-admin__shortcut-icon {
    background: #f8fafc;
    color: #6b7280;
}
.fcl-admin__shortcut-ext {
    display: inline-flex;
    margin-left: 6px;
    width: 12px; height: 12px;
    color: #9ca3af;
    vertical-align: -1px;
}
.fcl-admin__shortcut-ext svg {
    width: 12px; height: 12px;
}
.fcl-admin__shortcut--ext:hover .fcl-admin__shortcut-ext {
    color: #0a0a0a;
}

/* Responsive */
@media (max-width: 1024px) {
    .fcl-admin__kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .fcl-admin__cols { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .fcl-admin__kpi-grid { grid-template-columns: 1fr; }
    .fcl-admin__kpi-value { font-size: 28px; }
}

/* ============================================================
 * v1.1.57: Topbar 完全不透明 + 锁顶 z-index（彻底盖住 scrolled 内容）
 * ============================================================ */
body.fcl-dashboard-active .fcl-dashboard .fcl-topbar,
.fcl-dashboard .fcl-topbar {
    background-color: #ffffff !important;
    background-image: none !important;
    opacity: 1 !important;
    /* 防止 Bridge 主题 hover 状态把背景改成 transparent */
    backdrop-filter: none !important;
    box-shadow:
        0 1px 0 rgba(15, 23, 42, 0.08),
        0 8px 24px -10px rgba(15, 23, 42, 0.14) !important;
    border-bottom: 1px solid #e5e7eb !important;
    z-index: 9999 !important;
    /* 确保 topbar 自身占据完整 80px 高度，不被内部 element 撑小 */
    height: 80px !important;
    min-height: 80px !important;
    isolation: isolate;
}
.fcl-dashboard .fcl-topbar .fcl-search {
    max-width: 380px;
    flex: 1 1 auto;
}

/* 全局 scroll-padding-top：跳锚点 / 焦点跟随时为 topbar 让路 */
html { scroll-padding-top: 120px; }

/* ============================================================
 * v1.1.53.1: Applications 详情头与 topbar 不再视觉粘连
 * ============================================================ */
.fcl-apps__head { padding-top: 4px; }
/* 详情卡顶距加大，scroll 时第一眼看到的"姓名 + 状态"有呼吸空间 */
.fcl-apps__detail {
    padding-top: 36px !important;
}
/* 让 "姓名 + 状态" 行 sticky 在 detail 卡顶部，永远跟 topbar 隔开 */
.fcl-apps__detail-head {
    position: sticky;
    top: calc(var(--fcl-theme-offset, 0px) + 80px + 12px);
    z-index: 2;
    margin: -36px -32px 24px;
    padding: 24px 32px 16px;
    background: #ffffff;
    border-bottom: 1px solid #f3f4f6;
}

/* ============================================================
 * Fashion Week 页（v1.1.53）
 * ============================================================ */
.fcl-page--fashion-week { max-width: 1080px; margin: 0 auto; }

/* Hero */
.fcl-fw-hero {
    text-align: center;
    padding: 56px 24px 64px;
    border-bottom: 1px solid #e5e7eb;
}
.fcl-fw-hero__pill {
    display: inline-block;
    padding: 4px 14px;
    margin-bottom: 24px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    color: #0a0a0a;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
}
.fcl-fw-hero__title {
    margin: 0 0 16px;
    font-family: 'Inter', sans-serif;
    font-size: 56px;
    font-weight: 500;
    line-height: 1.1;
    color: #0a0a0a;
    letter-spacing: -0.02em;
}
.fcl-fw-hero__sub {
    max-width: 640px;
    margin: 0 auto 32px;
    font-size: 16px;
    line-height: 1.6;
    color: #4b5563;
}
.fcl-fw-hero__meta {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.fcl-fw-hero__meta li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #4b5563;
}
.fcl-fw-hero__meta-icon { display: inline-flex; color: #6b7280; }
.fcl-fw-hero__meta-icon svg { width: 16px; height: 16px; }
.fcl-fw-hero__price {
    margin: 0 0 24px;
    font-family: 'Inter', sans-serif;
    font-size: 52px;
    font-weight: 700;
    color: #0a0a0a;
    letter-spacing: -0.03em;
}
.fcl-fw-hero__price-suffix {
    margin-left: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #9ca3af;
    letter-spacing: 0;
}
.fcl-fw-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    font-size: 15px;
    margin-bottom: 12px;
}
.fcl-fw-hero__note {
    margin: 0 0 32px;
    font-size: 13px;
    color: #9ca3af;
    font-style: italic;
}
.fcl-fw-hero__sep {
    width: 100%;
    max-width: 640px;
    margin: 0 auto 16px;
    height: 1px;
    background: #e5e7eb;
}
.fcl-fw-hero__social {
    margin: 0;
    font-size: 14px;
    color: #6b7280;
}
.fcl-fw-hero__social strong { color: #0a0a0a; font-weight: 600; }

/* Section helpers */
.fcl-fw-section-title {
    margin: 0 0 12px;
    font-family: 'Inter', sans-serif;
    font-size: 32px;
    font-weight: 500;
    text-align: center;
    color: #0a0a0a;
    letter-spacing: -0.01em;
}
.fcl-fw-section-sub {
    margin: 0 0 40px;
    text-align: center;
    color: #6b7280;
    font-size: 15px;
}

/* Why */
.fcl-fw-why {
    padding: 64px 24px;
    background: #f9fafb;
}
.fcl-fw-why__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    max-width: 960px;
    margin: 0 auto;
}
.fcl-fw-feat { text-align: center; }
.fcl-fw-feat__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 16px;
    background: #0a0a0a;
    color: #ffffff;
    border-radius: 12px;
}
.fcl-fw-feat__icon svg { width: 24px; height: 24px; }
.fcl-fw-feat__title {
    margin: 0 0 8px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #0a0a0a;
}
.fcl-fw-feat__desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #6b7280;
}

/* Elevate (dark banner) — !important 防 Bridge 主题对 h2/p 全局色覆盖 */
.fcl-fw-elevate {
    text-align: center;
    padding: 80px 24px;
    background: #0a0a0a !important;
    color: #ffffff !important;
}
.fcl-fw-elevate__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    color: #ffffff;
}
.fcl-fw-elevate__icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.fcl-fw-elevate__title,
.fcl-page--fashion-week .fcl-fw-elevate__title {
    margin: 0 0 16px;
    font-family: 'Inter', sans-serif;
    font-size: 64px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #ffffff !important;
}
.fcl-fw-elevate__sub,
.fcl-page--fashion-week .fcl-fw-elevate__sub {
    margin: 0 0 16px;
    font-size: 24px;
    font-weight: 500;
    color: #ffffff !important;
}
.fcl-fw-elevate__desc,
.fcl-page--fashion-week .fcl-fw-elevate__desc {
    max-width: 600px;
    margin: 0 auto 32px;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7) !important;
}
.fcl-btn--ghost-light {
    background: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 12px 28px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.fcl-btn--ghost-light:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.6);
    color: #ffffff;
    text-decoration: none;
}

@media (max-width: 720px) {
    .fcl-fw-hero__title { font-size: 40px; }
    .fcl-fw-hero__price { font-size: 40px; }
    .fcl-fw-why__grid { grid-template-columns: 1fr; gap: 24px; }
    .fcl-fw-elevate__title { font-size: 44px; }
}

/* ============================================================
 * Admin: All Subscriptions table (v1.1.53)
 * ============================================================ */
.fcl-page--subs { max-width: 1280px; }
.fcl-subs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.fcl-subs-table th {
    text-align: left;
    padding: 12px 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #9ca3af;
    border-bottom: 1px solid #e5e7eb;
}
.fcl-subs-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #4b5563;
}
.fcl-subs-table__name { font-weight: 600; color: #0a0a0a; }
.fcl-subs-table__chip {
    display: inline-block;
    padding: 3px 9px;
    margin: 2px 4px 2px 0;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    border-radius: 4px;
}
.fcl-subs-table__chip--campaign     { background: #ede9fe; color: #6d28d9; }
.fcl-subs-table__chip--ecommerce    { background: #fef3c7; color: #b45309; }
.fcl-subs-table__chip--publication  { background: #d1fae5; color: #065f46; }
.fcl-subs-table__chip--fashion-week { background: #fce7f3; color: #9d174d; }
.fcl-subs-table__chip--unknown      { background: #f3f4f6; color: #6b7280; }
.fcl-subs-table__action { text-align: right; }
.fcl-subs-table__sub { margin: 2px 0 0; font-size: 12px; color: #9ca3af; }
.fcl-admin__empty-hint { margin-top: 8px; font-size: 12px; color: #b45309; }

/* ============================================================
 * Discovery Call Booking Modal (v1.1.55)
 * ============================================================ */
.fcl-booking-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px;
    overflow-y: auto;
}
.fcl-booking-modal.is-open { display: flex; }
.fcl-booking-modal__overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
}
.fcl-booking-modal__panel {
    position: relative;
    width: 100%;
    max-width: 720px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.25);
    padding: 0;
    margin: auto;
}
.fcl-booking-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 28px 32px 16px;
    border-bottom: 1px solid #f3f4f6;
}
.fcl-booking-modal__title {
    margin: 0 0 4px;
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #0a0a0a;
}
.fcl-booking-modal__sub {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
}
.fcl-booking-modal__close {
    background: transparent;
    border: 0;
    width: 32px; height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6b7280;
    border-radius: 6px;
    transition: background 0.15s ease;
}
.fcl-booking-modal__close:hover { background: #f3f4f6; color: #0a0a0a; }
.fcl-booking-modal__close svg { width: 20px; height: 20px; }

.fcl-booking-form { padding: 24px 32px 32px; }
.fcl-booking-form__section {
    margin: 24px 0 12px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    color: #6b7280;
    padding-bottom: 12px;
    border-bottom: 1px solid #f3f4f6;
}
.fcl-booking-form__section:first-of-type { margin-top: 0; }
.fcl-booking-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 12px;
}
.fcl-booking-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}
.fcl-booking-form__field--wide { grid-column: 1 / -1; }
.fcl-booking-form__label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #6b7280;
}
.fcl-booking-form__input {
    padding: 12px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    color: #0a0a0a;
    background: #ffffff;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.15s ease;
}
.fcl-booking-form__input:focus { outline: none; border-color: #0a0a0a; }
.fcl-booking-form__textarea {
    min-height: 100px;
    resize: vertical;
    font-family: inherit;
}
.fcl-booking-form__select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}
.fcl-booking-form__hint {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 16px 0 24px;
    padding: 16px;
    background: #f0f5ff;
    border-left: 3px solid #2563eb;
    border-radius: 8px;
}
.fcl-booking-form__hint-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    color: #2563eb;
    flex: 0 0 28px;
}
.fcl-booking-form__hint-icon svg { width: 18px; height: 18px; }
.fcl-booking-form__hint-title {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 600;
    color: #1e3a8a;
}
.fcl-booking-form__hint-text {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #374151;
}
.fcl-booking-form__actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}
.fcl-booking-form__submit {
    flex: 1;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 600;
}
.fcl-booking-form__actions .fcl-btn--ghost { flex: 1; padding: 14px 20px; }

/* FAQ link button (Publication) */
.fcl-camp-faq__link {
    background: none;
    border: 0;
    padding: 0;
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
}

@media (max-width: 640px) {
    .fcl-booking-form__row { grid-template-columns: 1fr; }
    .fcl-booking-modal { padding: 16px 8px; }
    .fcl-booking-modal__head { padding: 20px 20px 12px; }
    .fcl-booking-form { padding: 16px 20px 24px; }
    .fcl-booking-form__actions { flex-direction: column; }
}

/* ============================================================
 * Admin: Settings form (v1.1.53)
 * ============================================================ */
.fcl-page--admin-settings { max-width: 920px; }
.fcl-admin-form .fcl-admin__panel { margin-bottom: 16px; }
.fcl-admin-form__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.fcl-admin-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fcl-admin-form__field--wide { grid-column: 1 / -1; }
.fcl-admin-form__label {
    font-size: 13px;
    font-weight: 600;
    color: #0a0a0a;
}
.fcl-admin-form__hint {
    font-size: 12px;
    color: #9ca3af;
    margin-bottom: 6px;
}
.fcl-admin-form__input-wrap {
    display: flex;
    align-items: stretch;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    transition: border-color 0.15s ease;
}
.fcl-admin-form__input-wrap:focus-within { border-color: #0a0a0a; }
.fcl-admin-form__prefix,
.fcl-admin-form__suffix {
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    background: #fafafa;
    font-size: 14px;
    color: #6b7280;
    font-weight: 500;
}
.fcl-admin-form__suffix { border-left: 1px solid #e5e7eb; }
.fcl-admin-form__prefix { border-right: 1px solid #e5e7eb; }
.fcl-admin-form__input {
    flex: 1 1 auto;
    padding: 10px 12px;
    border: 0;
    outline: none;
    font-size: 14px;
    color: #0a0a0a;
    background: transparent;
    width: 100%;
    min-width: 0;
}
.fcl-admin-form__field > .fcl-admin-form__input {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}
.fcl-admin-form__field > .fcl-admin-form__input:focus { border-color: #0a0a0a; }
.fcl-admin-form__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 8px;
}
.fcl-admin-form__actions .fcl-btn { padding: 12px 24px; }

@media (max-width: 720px) {
    .fcl-admin-form__grid { grid-template-columns: 1fr; }
}

/* ============================================================
 * Apply as a Designer (扩展版 v1.1.59)
 * ============================================================ */
.fcl-page--apply {
    max-width: 680px;
    margin: 0 auto;
    padding: 48px 24px 80px;
    background: #ffffff;
}
.fcl-apply-wrap { text-align: left; }

.fcl-apply__brand {
    display: block;
    text-align: center;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.28em !important;
    color: #0a0a0a !important;
    text-decoration: none !important;
    margin-bottom: 40px;
}
.fcl-apply__title {
    text-align: center;
    margin: 0 0 12px;
    font-family: 'Inter', sans-serif;
    font-size: 32px;
    font-weight: 500;
    color: #0a0a0a;
    letter-spacing: -0.01em;
}
.fcl-apply__sub {
    text-align: center;
    margin: 0 0 48px;
    font-size: 14px;
    color: #6b7280;
}

/* Section divider */
.fcl-apply__section {
    margin: 40px 0 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    color: #0a0a0a;
}
.fcl-apply__section:first-of-type { margin-top: 8px; }

/* Fields */
.fcl-apply__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
}
.fcl-apply__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 0;
}
.fcl-apply__row > .fcl-apply__field { margin-bottom: 24px; }
.fcl-apply__label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: #9ca3af;
}
.fcl-apply__input {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    background: transparent;
    font-size: 15px;
    color: #0a0a0a;
    font-family: inherit;
    transition: border-color 0.15s ease;
}
.fcl-apply__input::placeholder { color: #c0c0c0; }
.fcl-apply__input:focus {
    outline: none;
    border-bottom-color: #0a0a0a;
}

/* Required asterisk */
.fcl-apply__req {
    color: #dc2626;
    margin-left: 4px;
    font-weight: 600;
}

/* Profile image */
.fcl-apply__avatar-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 4px;
}
.fcl-apply__avatar {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #f3f4f6;
    border: 1px dashed #d1d5db;
    cursor: pointer;
    overflow: hidden;
    flex: 0 0 72px;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.fcl-apply__avatar:hover {
    background: #e5e7eb;
    border-color: #0a0a0a;
}
.fcl-apply__avatar-placeholder {
    color: #6b7280;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    pointer-events: none;
}
.fcl-apply__avatar-placeholder svg { width: 24px; height: 24px; }
.fcl-apply__avatar-preview {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 2;
}
.fcl-apply__avatar.has-image {
    border-style: solid;
    border-color: #0a0a0a;
}
.fcl-apply__avatar.has-image .fcl-apply__avatar-placeholder { display: none; }
.fcl-apply__avatar-title {
    margin: 0 0 2px;
    font-size: 14px;
    color: #0a0a0a;
}
.fcl-apply__avatar-hint {
    margin: 0;
    font-size: 12px;
    color: #9ca3af;
}

/* CV upload */
.fcl-apply__upload {
    display: block;
    border: 1px dashed #d1d5db;
    border-radius: 10px;
    padding: 28px 16px;
    text-align: center;
    cursor: pointer;
    background: #ffffff;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.fcl-apply__upload:hover {
    border-color: #0a0a0a;
    background: #fafafa;
}
.fcl-apply__upload-inner {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #4b5563;
    font-size: 14px;
}
.fcl-apply__upload-icon {
    display: inline-flex;
    color: #6b7280;
}
.fcl-apply__upload-icon svg { width: 18px; height: 18px; }
.fcl-apply__upload.has-file {
    border-style: solid;
    border-color: #0a0a0a;
}
.fcl-apply__upload.has-file .fcl-apply__upload-text {
    font-weight: 600;
    color: #0a0a0a;
}

/* Notice */
.fcl-apply__notice {
    background: #f9fafb;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 32px 0 24px;
}
.fcl-apply__notice ul {
    margin: 0;
    padding: 0 0 0 18px;
    list-style: disc;
}
.fcl-apply__notice li {
    margin: 0 0 6px;
    font-size: 13px;
    line-height: 1.6;
    color: #4b5563;
}
.fcl-apply__notice li:last-child { margin-bottom: 0; }

/* Submit */
.fcl-apply__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 16px 20px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-top: 8px;
}

/* Sign in link */
.fcl-apply__signin {
    text-align: center;
    margin: 32px 0 0;
    font-size: 14px;
    color: #6b7280;
}
.fcl-apply__signin-link {
    color: #0a0a0a;
    font-weight: 500;
    text-decoration: underline;
}

@media (max-width: 560px) {
    .fcl-apply__row { grid-template-columns: 1fr; gap: 0; }
    .fcl-apply__title { font-size: 26px; }
}

/* ============================================================
 * Applications detail：头像 + Uploaded Files block (v1.1.61)
 * ============================================================ */
.fcl-apps__detail-headmain {
    display: flex;
    align-items: center;
    gap: 16px;
}
.fcl-apps__detail-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    background: #f3f4f6;
    flex: 0 0 56px;
    border: 1px solid #e5e7eb;
}
.fcl-apps__detail-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fcl-apps__files {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
}
.fcl-apps__files li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #f3f4f6;
}
.fcl-apps__files li:last-child { border-bottom: 0; }
.fcl-apps__file-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    background: #f3f4f6;
    border-radius: 8px;
    color: #4b5563;
    flex: 0 0 40px;
}
.fcl-apps__file-icon svg { width: 18px; height: 18px; }
.fcl-apps__file-main { flex: 1; min-width: 0; }
.fcl-apps__file-title {
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 600;
    color: #0a0a0a;
}
.fcl-apps__file-meta {
    margin: 0;
    font-size: 12px;
    color: #9ca3af;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fcl-apps__file-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 13px;
    color: #0a0a0a;
    text-decoration: none;
    transition: background 0.15s ease;
}
.fcl-apps__file-btn:hover { background: #fafafa; text-decoration: none; }
.fcl-apps__file-btn svg { width: 14px; height: 14px; }
.fcl-apps__files-purged {
    padding: 14px 0;
    font-size: 13px;
    color: #b45309;
    background: #fef3c7;
    border-radius: 8px;
    padding: 12px 16px;
}

/* ============================================================
 * Lookbook 双 10 限制 UI (v1.1.63)
 * ============================================================ */
.fcl-lookbook__count {
    display: inline-block;
    margin-left: 12px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    background: #f3f4f6;
    border-radius: 999px;
    vertical-align: middle;
}
.fcl-lookbook__count.is-max {
    color: #b45309;
    background: #fef3c7;
}
.fcl-form__section-count {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    background: #f3f4f6;
    border-radius: 999px;
}
.fcl-form__section-count.is-max {
    color: #b45309;
    background: #fef3c7;
}
.fcl-link-btn.is-disabled,
.fcl-link-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}
.fcl-btn.is-disabled,
.fcl-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ============================================================
 * Campaign upload: video tabs (v1.1.65)
 * ============================================================ */
.fcl-cm-vidtabs {
    display: inline-flex;
    border: 1px solid var(--fcl-border);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px;
}
.fcl-cm-vidtab {
    background: #ffffff;
    border: 0;
    padding: 8px 18px;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.fcl-cm-vidtab + .fcl-cm-vidtab { border-left: 1px solid var(--fcl-border); }
.fcl-cm-vidtab:hover { background: #fafafa; color: #0a0a0a; }
.fcl-cm-vidtab.is-active {
    background: #0a0a0a;
    color: #ffffff;
}
.fcl-cm-vidpane.is-hidden { display: none; }

/* ============================================================
 * Lookbook 上传：复用 .fcl-cm-drop / .fcl-cm-files + tile 加 caption
 * v1.1.68
 * ============================================================ */
.fcl-cm-files--lookbook {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 16px 0 24px;
}
.fcl-cm-files--lookbook .fcl-lookbook-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    overflow: hidden;
    background: #f3f4f6;
}
.fcl-lookbook-tile img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}
.fcl-lookbook-tile .fcl-cm-files__remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
    color: #ffffff;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    z-index: 2;
    transition: background 0.15s ease;
}
.fcl-lookbook-tile .fcl-cm-files__remove:hover { background: rgba(0, 0, 0, 0.85); }
.fcl-cm-files__item-tag--cover {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    padding: 2px 8px;
    background: rgba(255, 255, 255, 0.95);
    color: #0a0a0a;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    border-radius: 999px;
}
.fcl-lookbook-tile__caption {
    border: 0;
    border-top: 1px solid #e5e7eb;
    background: #ffffff;
    padding: 8px 10px;
    font-size: 12px;
    color: #0a0a0a;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}
.fcl-lookbook-tile__caption::placeholder { color: #c0c0c0; }
.fcl-lookbook-tile__caption:focus { background: #fafafa; }

/* Loading 占位 tile */
.fcl-lookbook-tile.is-loading {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fcl-lookbook-tile__spinner {
    width: 28px; height: 28px;
    border: 3px solid #e5e7eb;
    border-top-color: #0a0a0a;
    border-radius: 50%;
    animation: fcl-spin 0.8s linear infinite;
}
@keyframes fcl-spin {
    to { transform: rotate(360deg); }
}

/* ============================================================
 * Sidebar locked item + Subscriptions 内联服务编辑 (v1.1.70)
 * ============================================================ */
.fcl-sidebar__link.is-locked {
    opacity: 0.55;
}
.fcl-sidebar__link.is-locked .fcl-sidebar__icon { opacity: 0.7; }
.fcl-sidebar__lock {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    color: #9ca3af;
}
.fcl-sidebar__lock svg { width: 12px; height: 12px; }
.fcl-sidebar__link.is-locked:hover { opacity: 0.85; }

/* Subscriptions table 编辑器 */
.fcl-subs-table__svc-cell {
    position: relative;
}
.fcl-subs-table__chips {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-right: 8px;
}
.fcl-subs-table__edit {
    display: inline-block;
    margin-top: 6px;
}
.fcl-subs-table__edit > summary {
    list-style: none;
    cursor: pointer;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.fcl-subs-table__edit > summary::-webkit-details-marker { display: none; }
.fcl-subs-table__edit[open] > summary { color: #0a0a0a; font-weight: 600; }

.fcl-subs-table__editform {
    margin-top: 10px;
    padding: 12px;
    background: #fafafa;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 220px;
}
.fcl-subs-table__editform label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #0a0a0a;
}
.fcl-subs-table__editform input[type=checkbox] {
    width: 14px; height: 14px;
    accent-color: #0a0a0a;
}
.fcl-subs-table__save {
    margin-top: 8px;
    padding: 6px 16px;
    font-size: 12px;
    align-self: flex-start;
}

/* ============================================================
 * Admin: Recent Activity feed + Bell unread count (v1.1.72)
 * ============================================================ */
.fcl-activity__list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fcl-activity__item {
    border-bottom: 1px solid #f3f4f6;
}
.fcl-activity__item:last-child { border-bottom: 0; }
.fcl-activity__row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
}
.fcl-activity__row:hover { background: #fafafa; text-decoration: none; }
.fcl-activity__icon {
    flex: 0 0 32px;
    width: 32px; height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
}
.fcl-activity__icon svg { width: 14px; height: 14px; }
.fcl-activity__icon--pending   { background: #f59e0b; }
.fcl-activity__icon--approved  { background: #10b981; }
.fcl-activity__icon--rejected  { background: #ef4444; }
.fcl-activity__icon--more-info { background: #3b82f6; }
.fcl-activity__main { flex: 1; min-width: 0; }
.fcl-activity__text {
    margin: 0 0 2px;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
}
.fcl-activity__text strong { color: #0a0a0a; font-weight: 600; }
.fcl-activity__when {
    margin: 0;
    font-size: 11px;
    color: #9ca3af;
}

/* Topbar Bell 未读数字 */
.fcl-iconbtn {
    position: relative;
}
.fcl-iconbtn__count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dc2626;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    border-radius: 999px;
    border: 2px solid #ffffff;
    box-sizing: content-box;
}

/* ============================================================
 * Subscriptions Pending Review block (v1.1.74)
 * ============================================================ */
.fcl-pending-panel {
    border-left: 3px solid #f59e0b;
}
.fcl-pending-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.fcl-pending-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #f3f4f6;
    transition: opacity 0.2s ease;
}
.fcl-pending-item:last-child { border-bottom: 0; }
.fcl-pending-item__main { flex: 1; min-width: 0; }
.fcl-pending-item__name {
    margin: 0 0 4px;
    font-weight: 600;
    color: #0a0a0a;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.fcl-pending-item__meta {
    margin: 0;
    font-size: 12px;
    color: #9ca3af;
}
.fcl-pending-item__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.fcl-pending-item__actions .fcl-btn {
    padding: 8px 16px;
    font-size: 13px;
}

/* ============================================================
 * Admin: Campaign Submissions media grid (v1.1.75)
 * ============================================================ */
.fcl-camp-sub__media {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
}
.fcl-camp-sub__media li {
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    overflow: hidden;
    background: #f3f4f6;
}
.fcl-camp-sub__media img,
.fcl-camp-sub__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fcl-camp-sub__videolink {
    grid-column: 1 / -1;
    aspect-ratio: auto !important;
    background: #f9fafb !important;
    padding: 10px 14px;
    display: flex;
    align-items: center;
}
.fcl-camp-sub__videolink a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0a0a0a;
    text-decoration: none;
    font-size: 13px;
}
.fcl-camp-sub__videolink a:hover { text-decoration: underline; }
.fcl-camp-sub__videolink svg { width: 14px; height: 14px; }

.fcl-apps__desc {
    padding: 12px 14px;
    background: #fafafa;
    border-radius: 8px;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 24px;
}

/* ============================================================
 * Recent Content Submissions block (v1.1.78)
 * ============================================================ */
.fcl-content-subs {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fcl-content-subs__item {
    border-bottom: 1px solid #f3f4f6;
}
.fcl-content-subs__item:last-child { border-bottom: 0; }
.fcl-content-subs__row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
}
.fcl-content-subs__row:hover { background: #fafafa; text-decoration: none; }
.fcl-content-subs__thumb {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fcl-content-subs__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fcl-content-subs__placeholder {
    font-size: 18px;
    opacity: 0.5;
}
.fcl-content-subs__main { flex: 1; min-width: 0; }
.fcl-content-subs__title {
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 600;
    color: #0a0a0a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fcl-content-subs__meta {
    margin: 0;
    font-size: 12px;
    color: #9ca3af;
}

/* ============================================================
 * Panel 间距统一 + Free Designers panel (v1.1.79)
 * ============================================================ */
.fcl-page--subs .fcl-admin__panel,
.fcl-page--admin-overview .fcl-admin__panel {
    margin-bottom: 24px;
}
.fcl-page--subs .fcl-admin__panel:last-child,
.fcl-page--admin-overview .fcl-admin__panel:last-child {
    margin-bottom: 0;
}

.fcl-free-panel {
    border-left: 3px solid #9ca3af;
}
.fcl-admin__badge--soft {
    background: #f3f4f6;
    color: #6b7280;
}

/* ============================================================
 * Product Approvals (v1.1.83)
 * ============================================================ */
.fcl-prod-item {
    display: flex !important;
    align-items: center;
    gap: 12px;
}
.fcl-prod-item__thumb {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 6px;
    overflow: hidden;
    background: #f3f4f6;
}
.fcl-prod-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fcl-prod-item__thumb--empty {
    background: linear-gradient(135deg, #f3f4f6 25%, #e5e7eb 25%, #e5e7eb 50%, #f3f4f6 50%, #f3f4f6 75%, #e5e7eb 75%, #e5e7eb);
    background-size: 16px 16px;
}

/* ============================================================
 * Profile: Payout Information (v1.1.82)
 * ============================================================ */
.fcl-profile__section-hint {
    margin: 0 0 16px;
    font-size: 12px;
    color: #9ca3af;
}
.fcl-payout-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
}
.fcl-payout-grid .fcl-field--wide { grid-column: 1 / -1; }
.fcl-payout-view {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 8px 16px;
    margin: 0;
}
.fcl-payout-view dt {
    font-size: 12px;
    color: #9ca3af;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 500;
}
.fcl-payout-view dd {
    margin: 0;
    font-size: 14px;
    color: #0a0a0a;
    font-family: 'SF Mono', Menlo, Consolas, monospace;
}
@media (max-width: 640px) {
    .fcl-payout-grid { grid-template-columns: 1fr; }
    .fcl-payout-view { grid-template-columns: 1fr; gap: 0; }
    .fcl-payout-view dd { margin-bottom: 12px; }
}

/* ============================================================
 * Add Product 多图网格 (v1.1.66)
 * ============================================================ */
.fcl-product-form__hint {
    margin: -4px 0 16px;
    font-size: 12px;
    color: #9ca3af;
}
.fcl-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}
.fcl-product-tile {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    overflow: hidden;
    background: #f3f4f6;
    cursor: pointer;
}
.fcl-product-tile__preview {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.fcl-product-tile__remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
    color: #ffffff;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    z-index: 2;
    transition: background 0.15s ease;
}
.fcl-product-tile__remove:hover { background: rgba(0, 0, 0, 0.85); }
.fcl-product-tile__remove svg { width: 12px; height: 12px; }

.fcl-product-tile--add {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #d1d5db;
    background: #ffffff;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.fcl-product-tile--add:hover {
    border-color: #0a0a0a;
    background: #fafafa;
}
.fcl-product-tile__addinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #6b7280;
    text-align: center;
}
.fcl-product-tile__addicon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #6b7280;
}
.fcl-product-tile__addicon svg { width: 20px; height: 20px; }
.fcl-product-tile__addtext { font-size: 13px; }
.fcl-product-tile--add.is-uploading {
    opacity: 0.6;
    cursor: wait;
}

/* 第一张标记 cover */
.fcl-product-grid .fcl-product-tile.has-image:first-child::before {
    content: 'COVER';
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    padding: 2px 8px;
    background: rgba(255, 255, 255, 0.95);
    color: #0a0a0a;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    border-radius: 999px;
}
