:root{color:#0c0a09;background:#fafaf9;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{color:#0c0a09;background:radial-gradient(circle at 0 0,#fbbf242e,#0000 30%),radial-gradient(circle at 100% 0,#f973161f,#0000 24%),#fafaf9;margin:0}a{color:inherit}button,[role=button]{cursor:pointer}.app-shell{background:0 0;min-height:100vh}.app-shell__header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-bottom:1px solid #ece7e2;height:auto;padding-inline:24px;line-height:normal;position:sticky;top:0}.app-shell__header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;max-width:1200px;min-height:76px;margin:0 auto;display:grid}.app-shell__brand{align-items:center;gap:12px;display:flex}.app-shell__brand-mark{color:#fff;background:linear-gradient(135deg,#a16207,#f97316);border-radius:12px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:grid}.app-shell__brand-title,.app-shell__brand-subtitle{display:block;margin:0!important}.app-shell__menu{justify-content:center;min-width:0;background:0 0!important;border-bottom:0!important}.app-shell__auth{justify-self:end}.app-shell__account{flex-direction:column;line-height:1.2;display:flex}.app-shell__content{padding:32px 24px 48px}.app-shell__content-inner{max-width:1200px;margin:0 auto}.page-stack{flex-direction:column;gap:24px;display:flex}.page-hero{border:1px solid #ece7e2;border-radius:8px;flex-direction:column;gap:16px;padding:28px;display:flex}.page-hero--warm{background:linear-gradient(135deg,#fff7edf5,#ffffffeb)}.page-hero--plain{background:#ffffffe0}.page-hero h2,.page-hero .ant-typography{margin-bottom:0}.panel-card,.auth-card,.member-card,.coupon-card{box-shadow:0 18px 50px #1c19170f;border-radius:8px!important}.panel-card--subtle{box-shadow:none!important;background:#fafaf9!important}.hero-panel{color:#292524;border:1px solid #fbbf243d;border-radius:8px;min-height:100%;padding:28px}.hero-panel--member{background:linear-gradient(135deg,#fff7edf5,#fef08a2e),#fff}.hero-panel--campaign{background:linear-gradient(135deg,#fffbebf5,#fdba7438),#fff}.hero-panel__tags{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.hero-panel__tags span{background:#ffffffb3;border:1px solid #a855f714;border-radius:999px;padding:8px 12px;font-size:13px}.auth-layout{align-items:stretch}.auth-card{height:100%}.auth-card--wide{max-width:640px}.auth-card__footer{justify-content:center;align-items:center;gap:8px;margin-top:18px;display:flex}.campaign-stack{flex-direction:column;gap:20px;display:flex}.campaign-skeleton__hero{width:100%!important;height:280px!important}.campaign-hero-card{grid-template-columns:minmax(0,1.25fr) minmax(280px,.95fr);align-items:stretch;gap:20px;display:grid}.campaign-hero-card__body{flex-direction:column;justify-content:center;gap:12px;display:flex}.campaign-hero-card__actions,.campaign-card__actions{flex-wrap:wrap;gap:12px;margin-top:auto;display:flex}.item-list{gap:12px;display:grid}.item-list--divided{gap:0}.item-row,.campaign-list-item{border-bottom:1px solid #f1ede8;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.item-row:last-child,.campaign-list-item:last-child{border-bottom:0}.item-row__content{gap:6px;min-width:0;display:grid}.item-row__meta{align-items:flex-start;gap:12px;min-width:0;display:flex}.campaign-list-item__content{grid-template-columns:184px minmax(0,1fr);align-items:center;gap:16px;width:100%;display:grid}.campaign-list-item__meta{min-width:0}.campaign-card-grid,.asset-card-grid{gap:24px;display:grid}.campaign-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.asset-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.sidebar-stack{flex-direction:column;gap:24px;display:flex}.member-card{background:linear-gradient(#fff7edfa,#fffffffa),#fff!important}.member-card--home{min-height:320px}.member-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.member-card__metrics div{background:#fffc;border:1px solid #f1ede8;border-radius:8px;padding:14px}.member-card__metrics span{color:#78716c;margin-bottom:6px;font-size:13px;display:block}.member-card__metrics strong{font-variant-numeric:tabular-nums;font-size:18px;display:block}.sidebar-shortcuts{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.remote-image{background:#f5f5f4;border-radius:8px;width:100%;position:relative;overflow:hidden}.remote-image__img,.remote-image__fallback{width:100%;height:100%;position:absolute;inset:0}.remote-image__img{object-fit:cover}.remote-image__fallback{text-align:center;color:#7c2d12;background:linear-gradient(135deg,#fbbf2433,#f9731624);place-items:center;padding:20px;display:grid}.campaign-card{height:100%}.campaign-card .remote-image{margin-bottom:16px}.campaign-card__body{flex-direction:column;gap:12px;min-height:240px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.campaign-detail-modal .ant-modal-body{flex-direction:column;gap:18px;display:flex}.campaign-detail{flex-direction:column;gap:20px;display:flex}.campaign-detail__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.coupon-card{background:linear-gradient(135deg,#fff7edfa,#fffffffa);min-height:180px}.benefit-icon{color:#d97706;font-size:18px}.pagination-wrap{justify-content:flex-end;display:flex}.pre-wrap{white-space:pre-wrap}@media (width<=1200px){.app-shell__header-inner{grid-template-columns:1fr;justify-items:stretch;padding-block:16px}.app-shell__menu{justify-content:flex-start}.app-shell__auth{justify-self:start}}@media (width<=1024px){.campaign-hero-card,.campaign-list-item__content{grid-template-columns:1fr}.campaign-detail__header,.section-heading{flex-direction:column;align-items:flex-start}}@media (width<=768px){.app-shell__content,.app-shell__header{padding-inline:16px}.page-hero,.hero-panel{padding:20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
