.culture-walls-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

@media (min-width: 1280px) {
    .culture-walls-layout {
        grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    }
}

.culture-wall-card {
    border-left: 4px solid var(--color-brand);
    background: var(--color-surface);
}

.culture-wall-stamp {
    display: inline-block;
    padding: .3rem .55rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-control);
    background: var(--color-surface-muted);
    color: var(--color-brand-dark);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.culture-wall-action {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.25rem;
    cursor: pointer;
}

.hb-heart-row {
    display: inline-flex;
    gap: .18rem;
    align-items: center;
    white-space: nowrap;
}

.hb-heart {
    display: block;
    filter: drop-shadow(0 1px 1px rgb(29 31 20 / .13));
}

.hb-heart-outline {
    fill: none;
    stroke: var(--color-text-muted);
    stroke-width: 1.1;
    stroke-linejoin: round;
}

.hb-heart-divider {
    stroke: rgba(255, 255, 255, .88);
    stroke-width: 1.1;
}

.hb-overflow {
    display: inline-flex;
    align-items: center;
    font-size: .78rem;
    font-weight: 800;
    color: var(--color-text-secondary);
    margin-left: .15rem;
}

.hb-gold-row .hb-heart-outline {
    stroke: var(--color-amber-dark);
}

.hb-gold-row .hb-heart-divider {
    stroke: rgba(255, 255, 255, .72);
}
/* Shared celebration cards: history and global popup notifications. */
.culture-sales-feed { overflow:hidden; }
.culture-sales-feed-body { padding:clamp(1rem,2.5vw,1.75rem); }
.culture-sales-feed .culture-sales-history { margin-top:0; }
.culture-sales-feed .culture-sales-history:empty { display:none; }
.culture-sales-pagination { display:grid; justify-items:center; gap:10px; padding:16px 18px; margin-top:1rem; border-top:1px solid var(--color-border,#dfe5dc); font-size:.75rem; color:var(--color-text-secondary,#627062); }
.culture-sales-pagination-pages { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px; }
.culture-sales-pagination .btn { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:30px; padding:5px 10px; border:1px solid var(--color-border,#d4ddcf); border-radius:7px; font-size:.75rem; font-weight:650; line-height:1.2; box-shadow:none; }
.culture-sales-pagination .btn-secondary { background:var(--color-surface,#fff); }
.culture-sales-pagination .btn:hover { filter:brightness(.97); }
.culture-sales-pagination .btn:focus-visible { outline:2px solid #667c43; outline-offset:2px; }
.culture-sales-status { display:flex; align-items:center; gap:1rem; padding:1.5rem; border:1px solid var(--color-border,#e0e5d5); border-radius:14px; background:var(--color-surface-muted,#f7f8f4); color:var(--color-text-secondary,#58614f); font-size:.9rem; line-height:1.7; margin:0; }
.culture-sales-status:empty { display:none; }
.culture-sales-status::before { content:'♡'; flex-shrink:0; display:grid; place-items:center; width:2.75rem; height:2.75rem; border-radius:50%; background:var(--color-surface,#fff); color:var(--color-brand-dark,#576a3e); font-size:1.5rem; }
.culture-sales-status[data-state="error"] { background:var(--color-amber-soft,#fff8e8); border-color:var(--color-border,#e5ddc8); color:var(--color-text-secondary,#675940); }
.culture-sales-status[data-state="error"]::before { content:'!'; font-weight:700; color:var(--color-amber-dark,#8d6a28); }
.culture-sales-status[data-state="ready"] { margin-bottom:1rem; padding:.75rem 1rem; font-size:.8rem; }
.culture-sales-status[data-state="ready"]::before { display:none; }
.culture-sales-period-notice { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem; margin-bottom:1rem; padding:.75rem 1rem; border:1px solid var(--color-border,#e0e5d5); border-radius:10px; background:var(--color-surface-muted,#f7f8f4); font-size:.85rem; }
.culture-sales-admin-body { display:grid; gap:.75rem; }
.culture-sales-admin-panel { border:1px solid var(--color-border,#e0e5d5); border-radius:12px; background:var(--color-surface,#fff); overflow:hidden; }
.culture-sales-admin-panel > summary { padding:1rem 1.25rem; cursor:pointer; font-size:.9rem; font-weight:700; color:var(--color-text-primary,#30372d); }
.culture-sales-admin-panel > summary:focus-visible { outline:2px solid var(--color-brand,#8c995b); outline-offset:-4px; }
.culture-sales-admin-panel[open] > summary { border-bottom:1px solid var(--color-border,#e0e5d5); background:var(--color-surface-muted,#f7f8f4); }
.culture-sales-admin-panel-body { padding:1.25rem; }
.culture-sales-admin-panel-body > p { color:var(--color-text-secondary,#58614f); font-size:.85rem; line-height:1.7; max-width:85ch; }
.culture-sales-admin-panel-body > .culture-sales-status { margin-top:1rem; }
.culture-sales-totals:empty { display:none; }
.culture-sales-totals { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:.75rem; margin-bottom:1rem; }
.culture-sales-total-card { display:flex; flex-direction:column; justify-content:space-between; gap:.75rem; min-height:120px; padding:1.25rem 1.5rem; border-radius:16px; background:linear-gradient(145deg,var(--color-surface,#fff),var(--color-brand-soft,#f1f5e9)); border:1px solid var(--color-border,#e0e5d5); box-shadow:0 4px 16px rgb(40 54 44 / .04); }
.culture-sales-total-card h3 { font-size:.9rem; line-height:1.5; font-weight:650; color:var(--color-text-secondary,#58614f); overflow-wrap:anywhere; }
.culture-sales-total-amount { margin:0; color:var(--color-brand-dark,#49673d); font-size:clamp(1.8rem,3vw,2.5rem); font-weight:800; line-height:1.15; letter-spacing:-.045em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.culture-sales-project-total { margin-top:.75rem; padding-top:.65rem; border-top:1px solid #dce4d1; font-size:.8rem; line-height:1.6; font-weight:600; color:#506443; overflow-wrap:anywhere; }
.culture-sales-date-fields { display:flex; gap:1rem; flex-wrap:wrap; align-items:end; margin:1rem 0; }
.culture-sales-date-fields label { display:grid; gap:.35rem; font-size:.85rem; }
.culture-sales-date-fields input { min-height:40px; padding:.4rem .6rem; border:1px solid var(--color-border,#d8ddcf); border-radius:6px; background:var(--color-surface,#fff); }
.culture-sales-widget { overflow:hidden; }
.culture-sales-widget-header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:1rem; border-bottom:1px solid var(--color-border,#e5e7eb); background:var(--color-surface-muted,#f7f8f4); }
.culture-sales-widget-header h2 { font-size:1.1rem; font-weight:800; }
.culture-sales-widget-header .culture-sales-badge { margin-bottom:.25rem; }
.culture-sales-widget-header a { flex-shrink:0; }
.culture-sales-widget-body { padding:1rem; }
.culture-sales-widget-body > [data-sales-status]:empty { display:none; }
.culture-sales-widget [data-sales-widget] { display:grid; gap:.65rem; }
.culture-sales-widget .culture-sales-card { padding:.85rem 1rem; border-radius:12px; box-shadow:none; }
.culture-sales-widget .culture-sales-card h3 { font-size:.85rem; line-height:1.5; overflow-wrap:anywhere; }
.culture-sales-widget .culture-sales-badge { margin-bottom:.3rem; font-size:.7rem; }
.culture-sales-widget .culture-sales-amount { margin:.4rem 0; font-size:1.5rem; }
.culture-sales-widget .culture-sales-heart { padding:.15rem .65rem; font-size:1.1rem; }
.culture-sales-intro { display:flex; gap:1rem; align-items:center; margin-bottom:1.5rem; }
.culture-sales-intro > span { font-size:2.5rem; }
.culture-sales-intro h2 { font-weight:800; }
.culture-sales-intro p { max-width:70ch; color:var(--color-text-muted,#65675f); }
.culture-sales-table-wrap { overflow-x:auto; border:1px solid var(--color-border,#e0e5d5); border-radius:12px; }
.culture-sales-table-wrap[hidden] { display:none; }
.culture-sales-table { width:100%; border-collapse:collapse; text-align:left; font-size:.85rem; }
.culture-sales-table th { padding:.75rem 1rem; background:var(--color-surface-muted,#f7f8f4); color:var(--color-text-secondary,#58614f); font-size:.75rem; font-weight:700; white-space:nowrap; }
.culture-sales-table td { padding:.55rem 1rem; border-top:1px solid var(--color-border,#e0e5d5); vertical-align:middle; color:var(--color-text-primary,#30372d); }
.culture-sales-table tbody tr:hover { background:var(--color-surface-muted,#f7f8f4); }
.culture-sales-table .culture-sales-date { white-space:nowrap; color:var(--color-text-muted,#687263); font-size:.78rem; font-variant-numeric:tabular-nums; }
.culture-sales-table .culture-sales-project { width:20%; min-width:8rem; max-width:15rem; overflow-wrap:anywhere; }
.culture-sales-table th:nth-child(4){width:20%}
.culture-sales-table .culture-sales-value { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.culture-sales-table td.culture-sales-value { color:#52823f; font-weight:800; }
.culture-sales-table .culture-sales-reaction { text-align:right; width:5rem; }
.culture-sales-table .culture-sales-heart { min-height:36px; padding:.15rem .65rem; font-size:1.1rem; white-space:nowrap; }
.culture-sales-type { display:inline-block; padding:.2rem .5rem; border-radius:6px; background:var(--color-brand-soft,#eef2e5); color:var(--color-brand-dark,#506443); font-size:.7rem; font-weight:700; white-space:nowrap; }
.culture-sales-card { position:relative; padding:1.5rem; border:1px solid #eadfbe; border-radius:20px; background:linear-gradient(135deg,#fffdf6,#f5f7e9); color:#28362c; box-shadow:0 8px 28px #28362c0c; }
.culture-sales-badge { display:inline-block; font-size:.8rem; font-weight:800; color:#596a37; margin-bottom:.8rem; }
.culture-sales-card h2 { font-size:1rem; line-height:1.6; padding-right:1rem; overflow-wrap:anywhere; }
.culture-sales-amount { font-size:clamp(2rem,4vw,3rem); line-height:1.2; font-weight:900; letter-spacing:-.04em; color:#52823f; margin:1rem 0 1.2rem; overflow-wrap:anywhere; }
.culture-sales-card-footer { display:flex; gap:1rem; justify-content:space-between; align-items:center; }
.culture-sales-card time { font-size:.75rem; color:#687263; }
.culture-sales-heart { display:inline-flex; align-items:center; gap:.4rem; border:1px solid #dfd8cc; border-radius:99px; background:#ffffffbc; padding:.4rem .85rem; color:#7d5a5c; font-size:1.25rem; cursor:pointer; min-height:44px; }
.culture-sales-heart[aria-pressed="true"] { color:#bd345c; border-color:#edb7c6; background:#fff0f4; }
.culture-sales-heart:disabled { opacity:.5; cursor:wait; }
.culture-sales-heart:focus-visible { outline:3px solid #52823f; outline-offset:3px; }
.culture-sales-popups { position:fixed; bottom:1.5rem; right:1.5rem; z-index:9500; width:min(410px,calc(100vw - 2rem)); pointer-events:none; }
.culture-sales-popup { pointer-events:auto; box-shadow:0 18px 64px #28362c30; animation:culture-sales-arrive .35s ease-out; }
.culture-sales-like-hint { margin:.75rem 0 0; text-align:right; font-size:.75rem; color:var(--color-text-muted,#687263); }
.culture-sales-feedback:not(:empty) { pointer-events:auto; padding:.8rem; border-radius:10px; background:#fff0f4; color:#8d2946; }
.culture-sales-table .culture-sales-reaction{width:8rem;min-width:8rem;white-space:nowrap}
.culture-sales-comment-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;vertical-align:middle;border:1px solid var(--color-border,#d8ddcf);border-radius:99px;padding:.35rem .6rem;background:var(--color-surface,#fff);font:inherit;font-size:.75rem;color:var(--color-brand-dark,#506443);white-space:nowrap;cursor:pointer;min-height:36px;margin-left:.35rem}
.culture-sales-comment-toggle svg{width:19px;height:19px;flex-shrink:0}
.culture-sales-comment-preview{position:fixed;z-index:10000;width:min(360px,calc(100vw - 16px));max-height:min(400px,calc(100dvh - 16px));overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--color-border,#d8ddcf);border-radius:14px;background:var(--color-surface,#fff);color:var(--color-text-primary,#28362c);box-shadow:0 12px 45px #17251f30;font-size:.78rem}
.culture-sales-comment-preview[hidden]{display:none}
.culture-sales-comment-preview-title{display:block;margin-bottom:12px;font-size:.8rem;font-weight:750}
.culture-sales-comment-preview .culture-sales-comment-avatar{width:28px;height:28px;flex-basis:28px;font-size:.6rem}
.culture-sales-comment-preview .culture-sales-comment-content{padding:8px 10px}
.culture-sales-comment-preview .culture-sales-comment-content p{font-size:.74rem}
.culture-sales-comment-preview-hint{margin:12px 0 0;font-size:.65rem;line-height:1.5;color:var(--color-text-muted,#687263)}
.culture-sales-card-footer{flex-wrap:wrap;gap:.65rem}
.culture-sales-comment-toggle:focus-visible{outline:3px solid #52823f;outline-offset:3px}
.culture-sales-comments-dialog{width:min(580px,calc(100vw - 2rem));max-height:85dvh;margin:auto;padding:24px;border:1px solid var(--color-border,#d8ddcf);border-radius:20px;background:var(--color-surface,#fff);color:var(--color-text-primary,#28362c);box-shadow:0 24px 90px #13271938;overflow:auto}
.culture-sales-comments-dialog::backdrop{background:#17251f66;backdrop-filter:blur(3px)}
.culture-sales-comments-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.culture-sales-comments-header h2{font-size:1.15rem;font-weight:750}
.culture-sales-comments-context{margin:10px 0 18px;font-size:.78rem;color:var(--color-text-muted,#687263);line-height:1.6;overflow-wrap:anywhere}
.culture-sales-comments-list{display:grid;gap:12px}
.culture-sales-comment{display:flex;gap:10px;align-items:flex-start}
.culture-sales-comment-avatar{position:relative;display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--color-brand-soft,#eef2e5);font-size:.7rem;color:var(--color-brand-dark,#506443);font-weight:750;overflow:hidden}
.culture-sales-comment-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.culture-sales-comment-content{flex:1;min-width:0;padding:10px 12px;border-radius:0 12px 12px 12px;background:var(--color-surface-muted,#f3f5f3);border-left:3px solid var(--color-brand,#56865f)}
.culture-sales-comment-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.culture-sales-comment-heading strong{font-size:.76rem;font-weight:700;overflow-wrap:anywhere}
.culture-sales-comment-heading time{font-size:.63rem;color:var(--color-text-muted,#687263)}
.culture-sales-comment-content p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;line-height:1.6}
.culture-sales-comment-delete{margin-top:6px;border:0;padding:0;background:transparent;color:var(--color-text-muted,#687263);font-size:.63rem;text-decoration:underline;cursor:pointer}
.culture-sales-comments-form{display:grid;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border,#d8ddcf)}
.culture-sales-comments-form label{display:grid;gap:7px;font-size:.76rem;font-weight:600}
.culture-sales-comments-form textarea{resize:vertical;min-height:90px;font-size:.83rem}
.culture-sales-comments-form>.btn{justify-self:end}
.culture-sales-comments-error:empty{display:none}
.culture-sales-comments-error{padding:10px;border-radius:8px;background:#fff0f4;color:#8d2946;font-size:.78rem;margin:10px 0}
.culture-sales-comments-empty{color:var(--color-text-muted,#687263);font-size:.8rem;padding:16px 0}
.culture-sales-comments-older{margin-bottom:12px;font-size:.7rem}
@media(max-width:640px){.culture-sales-comments-dialog{padding:16px;max-height:90dvh}.culture-sales-comment-heading{display:grid}}
.culture-sales-projects { max-height:360px; overflow:auto; margin:1rem 0; border:1px solid var(--color-border,#d8ddcf); border-radius:10px; }
.culture-sales-project-list { width:100%; border-collapse:separate; border-spacing:0; text-align:left; font-size:.8rem; }
.culture-sales-project-list th { position:sticky; top:0; z-index:1; padding:.6rem .8rem; background:var(--color-surface-muted,#f7f8f4); color:var(--color-text-secondary,#58614f); font-size:.72rem; font-weight:700; white-space:nowrap; }
.culture-sales-project-list td { padding:.45rem .8rem; border-top:1px solid var(--color-border,#d8ddcf); vertical-align:middle; }
.culture-sales-project-list tr.is-selected { background:var(--color-brand-soft,#f1f5e9); }
.culture-sales-project-list td:first-child { min-width:13rem; width:100%; }
.culture-sales-project-list label { display:flex; gap:.55rem; align-items:center; line-height:1.4; }
.culture-sales-project-list td:not(:first-child) label { white-space:nowrap; }
.culture-sales-project-list input[type="checkbox"] { flex-shrink:0; }
.culture-sales-project-list input[type="date"] { width:9rem; min-height:32px; padding:.25rem .4rem; border:1px solid var(--color-border,#d8ddcf); border-radius:5px; background:var(--color-surface,#fff); font:inherit; }
.culture-sales-project-list small { display:block; margin-top:.15rem; font-size:.7rem; color:var(--color-text-muted,#687263); }
.culture-sales-audience-picker { min-width:9rem; max-width:20rem; font-size:.78rem; }
.culture-sales-audience-picker > summary { padding:.4rem .55rem; border:1px solid var(--color-border,#d8ddcf); border-radius:5px; background:var(--color-surface,#fff); cursor:pointer; white-space:nowrap; }
.culture-sales-audience-options { display:grid; gap:.65rem; min-width:16rem; padding:.8rem .25rem; }
.culture-sales-audience-options label,.culture-sales-project-list td .culture-sales-audience-options label { display:flex; align-items:flex-start; gap:.5rem; white-space:normal; font-size:.75rem; line-height:1.5; }
.culture-sales-audience-options input { margin-top:.15rem; flex-shrink:0; }
.culture-sales-production-audience { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:1rem; padding:1rem 0; }
.culture-sales-production-audience strong { font-size:.85rem; }
.culture-sales-production-audience p,.culture-sales-audience-help { margin-top:.25rem; font-size:.75rem; line-height:1.6; color:var(--color-text-secondary,#58614f); }
@keyframes culture-sales-arrive { from { opacity:0; transform:translateY(14px) scale(.97); } to { opacity:1; transform:none; } }
@media (max-width:640px) { .culture-sales-popups { right:1rem; bottom:5.5rem; } }
@media (prefers-reduced-motion:reduce) { .culture-sales-popup { animation:none; } }
