html,body,#root{height:100%;margin:0}body{overflow:hidden;background:var(--cm-color-login-background);color:var(--cm-color-text)}.app-shell{height:100vh;background:var(--cm-color-background);overflow:hidden}.app-shell-compact{display:block}.sidebar{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--cm-color-surface);border-right:0}.sidebar .ant-layout-sider-children{display:flex;height:100%;flex-direction:column;background:var(--cm-color-surface)}.app-sidebar-menu.ant-menu-light.ant-menu-root.ant-menu-inline{margin-top:12px;border-inline-end:none;flex:1}.sidebar .ant-menu{background:var(--cm-color-surface);border-inline-end:none}.brand{min-height:var(--cm-header-height);display:flex;align-items:center;justify-content:center;padding:0 var(--cm-space-xl);border-bottom:1px solid var(--cm-color-border)}.brand-logo{display:block;width:min(190px,100%);height:auto;max-height:32px;object-fit:contain}.sidebar-user-label{display:flex;align-items:center;gap:var(--cm-space-md);min-height:52px;margin:var(--cm-space-lg) var(--cm-space-lg) 0;padding:var(--cm-space-sm) var(--cm-space-md);border:1px solid var(--cm-color-border);border-radius:var(--cm-radius-lg);background:var(--cm-color-surface-muted)}.sidebar-user-avatar.ant-avatar{flex:0 0 auto;color:var(--cm-color-primary);background:var(--cm-color-primary-soft)}.sidebar-user-name.ant-typography{min-width:0;color:var(--cm-color-text);font-size:var(--cm-font-body);font-weight:800;line-height:1.2}.nav-icon-tile,.metric-icon,.help-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.nav-icon-tile{width:var(--cm-space-xxxl);height:var(--cm-space-xxxl);border-radius:var(--cm-radius-sm);color:var(--cm-color-primary-hover);background:var(--cm-color-surface);box-shadow:var(--cm-shadow-card)}.ant-menu-item-selected .nav-icon-tile{color:var(--cm-color-surface);background:var(--cm-color-primary);box-shadow:none}.ant-menu-item-selected .nav-icon-tile svg{color:var(--cm-color-surface);fill:currentColor}.ant-menu-item-selected,.ant-menu-item:focus-visible{outline-color:var(--cm-color-primary)}.sidebar-footer{padding:var(--cm-space-lg)}.logout-button.ant-btn{display:flex;align-items:center;gap:var(--cm-space-md);width:100%;height:44px;justify-content:flex-start;line-height:1;color:var(--cm-color-text-subtle);font-weight:700;border-radius:0;border:1px solid var(--cm-color-border)}.logout-button.ant-btn .ant-btn-icon{display:inline-flex;align-items:center;margin-inline-end:0;line-height:1}.logout-button.ant-btn .anticon svg{display:block}.logout-button:hover,.logout-button:focus-visible{color:var(--cm-color-primary);background:var(--cm-color-primary-soft)}.logout-error{margin-top:var(--cm-space-sm)}.sidebar-help{margin:var(--cm-space-xxl) var(--cm-space-lg);padding:var(--cm-space-lg);min-height:138px;border-radius:var(--cm-radius-lg);color:var(--cm-color-surface);background:var(--cm-color-primary);box-shadow:var(--cm-shadow-card);overflow:hidden}.sidebar-help h5,.sidebar-help .ant-typography{color:var(--cm-color-surface);margin:0}.help-icon{width:36px;height:36px;margin-bottom:var(--cm-space-lg);border-radius:var(--cm-radius-md);color:var(--cm-color-primary);background:var(--cm-color-surface)}.main-layout{min-width:0;height:100vh;overflow:hidden}.content{min-width:0;height:100vh;overflow-y:auto;padding:var(--cm-page-padding)}.app-shell-compact .main-layout{height:100vh;overflow-y:auto}.app-shell-compact .content{height:auto;min-height:calc(100vh - 58px);overflow:visible;padding:var(--cm-space-lg)}.mobile-topbar.ant-layout-header{position:sticky;top:0;z-index:20;height:auto;padding:0;border-bottom:1px solid var(--cm-color-border);background:var(--cm-color-surface);line-height:normal}.mobile-topbar-main{display:flex;align-items:center;justify-content:space-between;gap:var(--cm-space-lg);min-height:58px;padding:var(--cm-space-sm) var(--cm-space-lg)}.mobile-brand-logo{display:block;width:min(176px,42vw);height:auto;max-height:30px;object-fit:contain}.mobile-menu-button.ant-btn{display:flex;align-items:center;width:44px;height:44px;justify-content:center;color:var(--cm-color-text);border:1px solid var(--cm-color-border);border-radius:0;font-size:18px}.mobile-menu-drawer-root .ant-drawer-content-wrapper{width:100vw}.mobile-menu-drawer .ant-drawer-content{background:var(--cm-color-surface)}.mobile-menu-drawer .ant-drawer-header{min-height:58px;border-bottom-color:var(--cm-color-border)}.mobile-menu-drawer .ant-drawer-title{color:var(--cm-color-text);font-weight:800}.mobile-menu-drawer .ant-drawer-body{display:flex;min-height:0;flex-direction:column;padding:var(--cm-space-lg)}.mobile-menu-user-label{display:flex;align-items:center;gap:var(--cm-space-md);min-width:0;min-height:52px;padding:var(--cm-space-sm) var(--cm-space-md);border:1px solid var(--cm-color-border);border-radius:var(--cm-radius-lg);background:var(--cm-color-surface-muted)}.mobile-menu-list.ant-menu-light.ant-menu-root.ant-menu-inline{margin-top:var(--cm-space-lg);border-inline-end:0;flex:1;background:var(--cm-color-surface)}.mobile-menu-list.ant-menu-inline .ant-menu-item{height:50px;margin-inline:0;margin-block:var(--cm-space-xs);padding-inline:var(--cm-space-md)}.mobile-menu-footer{padding-top:var(--cm-space-lg);border-top:1px solid var(--cm-color-border)}.auth-loading{min-height:100vh;display:grid;place-items:center;background:var(--cm-color-background);color:var(--cm-color-text-subtle);font-weight:700}.ant-btn-primary a{color:var(--cm-color-surface)}.login-shell{box-sizing:border-box;width:100%;min-height:100vh;display:grid;align-items:center;justify-content:center;overflow-y:auto;margin:0;padding:clamp(var(--cm-space-xxl),7vh,80px) var(--cm-space-lg);background:var(--cm-color-login-background)}.login-form-panel{width:min(520px,calc(100vw - (var(--cm-space-lg) * 2)));box-sizing:border-box;display:flex;flex-direction:column;min-height:0;padding:36px;background:var(--cm-color-surface);box-shadow:0 2px 12px color-mix(in srgb,var(--cm-color-text) 15%,transparent)}.login-logo{display:block;width:212px;height:auto;max-height:31px;object-fit:contain}.login-form-wrap{width:100%;margin:30px 0 0}.login-title.ant-typography{margin:0;color:var(--cm-color-text);font-size:38px;line-height:1.16;font-weight:800}.login-subtitle.ant-typography{display:block;margin-top:9px;color:var(--cm-color-text-muted);font-size:var(--cm-font-body);line-height:1.65}.login-form{margin-top:36px}.login-form .ant-form-item-label>label{color:var(--cm-color-text);font-size:12px;font-weight:800}.login-form .ant-input,.login-form .ant-input-affix-wrapper{box-sizing:border-box;width:100%;height:40px;min-height:40px;border-color:var(--cm-color-border-strong);background:var(--cm-color-surface)}.login-form .ant-input-affix-wrapper .ant-input{height:auto;min-height:0;padding:0;border:0;background:transparent}.login-form .ant-input::placeholder,.login-form .ant-input-password input::placeholder{color:var(--cm-color-text-muted)}.login-form .ant-form-item{margin-bottom:24px}.login-error{margin-top:var(--cm-space-lg)}.login-submit{width:100%;height:44px;margin-top:var(--cm-space-sm);background:var(--cm-color-login-accent);box-shadow:0 20px 42px color-mix(in srgb,var(--cm-color-login-accent) 22%,transparent)}.login-visual-content{position:relative;z-index:1;width:520px}.login-visual-title.ant-typography{max-width:500px;margin:0;color:var(--cm-color-surface);font-size:42px;line-height:1.22;font-weight:800}.login-visual-copy.ant-typography{display:block;max-width:460px;margin-top:14px;color:color-mix(in srgb,var(--cm-color-surface) 74%,transparent);font-size:var(--cm-font-body);line-height:1.72}.login-preview-stage{position:relative;height:278px;margin-top:79px}.login-preview-board,.login-floating-card{background:var(--cm-color-surface);box-shadow:0 22px 54px color-mix(in srgb,var(--cm-color-text) 18%,transparent)}.login-preview-board{position:absolute;left:0;top:0;box-sizing:border-box;width:430px;height:268px;min-height:0;padding:16px;border-radius:var(--cm-radius-lg)}.preview-summary-row{display:grid;grid-template-columns:193px 193px;gap:12px}.preview-kpi{box-sizing:border-box;min-height:102px;padding:var(--cm-space-md);border-radius:var(--cm-radius-md);background:color-mix(in srgb,var(--cm-color-login-accent-soft) 70%,var(--cm-color-surface))}.preview-kpi-primary{color:var(--cm-color-surface);background:var(--cm-color-primary)}.preview-kpi span,.login-floating-card span{display:block;color:var(--cm-color-text-muted);font-size:var(--cm-font-caption);font-weight:800}.preview-kpi-primary span{color:color-mix(in srgb,var(--cm-color-surface) 74%,transparent)}.preview-kpi strong,.login-floating-card strong{display:block;margin-top:var(--cm-space-xs);color:var(--cm-color-text);font-size:var(--cm-font-title)}.preview-kpi-primary strong{color:var(--cm-color-surface)}.preview-chart{display:grid;height:68px;grid-template-columns:repeat(6,1fr);align-items:end;gap:8px;margin-top:30px}.preview-chart span{display:block;border-radius:var(--cm-radius-sm) var(--cm-radius-sm) 0 0;background:var(--cm-color-login-accent-soft)}.preview-chart span:nth-child(1){height:44%}.preview-chart span:nth-child(2){height:68%}.preview-chart span:nth-child(3){height:52%}.preview-chart span:nth-child(4){height:84%;background:var(--cm-color-login-accent)}.preview-chart span:nth-child(5){height:62%}.preview-chart span:nth-child(6){height:76%}.preview-table{display:grid;gap:8px;margin-top:14px}.preview-table span{height:9px;border-radius:var(--cm-radius-sm);background:var(--cm-color-surface-muted)}.preview-table span:nth-child(2){width:86%}.preview-table span:nth-child(3){width:72%}.login-floating-card{position:absolute;top:0;left:318px;box-sizing:border-box;width:202px;min-height:152px;padding:18px;border-radius:var(--cm-radius-lg)}.preview-ring{width:98px;height:49px;margin:18px auto 0;border-radius:96px 96px 0 0;border-top:17px solid var(--cm-color-login-accent);border-right:17px solid var(--cm-color-login-accent-soft);border-left:17px solid var(--cm-color-primary-hover);border-bottom:0}@media(max-width:1120px){.login-shell{padding-inline:var(--cm-space-xxl)}.login-form-panel{padding:var(--cm-space-xxl)}}@media(max-width:980px){.login-shell{align-items:start}.login-form-panel{width:min(520px,calc(100vw - (var(--cm-space-lg) * 2)))}.login-form-wrap{margin-top:var(--cm-space-xxxl)}.login-logo{align-self:flex-start}}@media(max-width:560px){.login-shell{padding:0}.login-form-panel{width:100vw;min-height:100vh;justify-content:center;padding:var(--cm-space-xl);box-shadow:none}.login-logo{width:min(212px,100%)}}.page-stack{box-sizing:border-box;min-width:0;width:100%;max-width:var(--cm-page-max-width);row-gap:var(--cm-space-sm)}.detail-grid,.summary-grid{display:grid;gap:var(--cm-space-xxl)}.detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-header{display:flex;flex-direction:column;gap:var(--cm-space-xs)}.detail-header .ant-typography{margin-bottom:0}.detail-page-header,.campaign-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--cm-space-xxl)}.detail-page-heading,.campaign-detail-heading{min-width:0}.detail-page-heading h5.ant-typography,.campaign-detail-heading h5.ant-typography{max-width:900px;margin:0;color:var(--cm-color-text);line-height:1.25;font-weight:800}.detail-back-link{display:inline-flex;align-items:center;gap:var(--cm-space-xs);color:var(--cm-color-text-subtle);font-size:var(--cm-font-caption);font-weight:700}.detail-back-link:hover,.detail-back-link:focus-visible{color:var(--cm-color-primary)}.campaign-detail-meta{color:var(--cm-color-text-subtle)}.detail-page-actions,.campaign-detail-archive-action{display:flex;align-items:flex-end;justify-content:flex-end;flex:0 0 auto;padding-top:0}.detail-page-actions>.ant-space{align-items:flex-end}.detail-page-tabs.ant-tabs>.ant-tabs-nav,.campaign-detail-tabs.ant-tabs>.ant-tabs-nav{margin-bottom:var(--cm-space-md);padding:var(--cm-space-sm);border:1px solid var(--cm-color-border);border-radius:var(--cm-radius-lg);background:var(--cm-color-surface)}.detail-page-tabs.ant-tabs>.ant-tabs-nav:before,.campaign-detail-tabs.ant-tabs>.ant-tabs-nav:before{display:none}.detail-page-tabs.ant-tabs .ant-tabs-nav-list,.campaign-detail-tabs.ant-tabs .ant-tabs-nav-list{gap:var(--cm-space-md)}.detail-page-tabs.ant-tabs .ant-tabs-tab,.campaign-detail-tabs.ant-tabs .ant-tabs-tab{min-width:112px;justify-content:center;margin:0;padding:7px var(--cm-space-xl);border-radius:var(--cm-radius-lg);color:var(--cm-color-text-subtle)}.detail-page-tabs.ant-tabs .ant-tabs-tab-active,.campaign-detail-tabs.ant-tabs .ant-tabs-tab-active{background:var(--cm-color-primary-soft)}.detail-page-tabs.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.campaign-detail-tabs.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--cm-color-primary)}.detail-page-tabs.ant-tabs .ant-tabs-ink-bar,.campaign-detail-tabs.ant-tabs .ant-tabs-ink-bar{display:none}.campaign-summary-paper.ant-card{--cm-summary-financial-success: #047857;border-color:var(--cm-color-border);box-shadow:var(--cm-shadow-card)}.campaign-summary-paper .ant-card-body{padding:var(--cm-space-xxxl)}.campaign-summary-kicker{margin-bottom:var(--cm-space-sm);color:var(--cm-color-text-muted);font-size:var(--cm-font-caption);font-weight:800;text-transform:uppercase}.campaign-summary-paper h3.ant-typography{margin:0 0 var(--cm-space-xs);color:var(--cm-color-text);font-size:var(--cm-font-page-title);line-height:1.35;font-weight:800}.campaign-summary-divider{height:1px;margin:var(--cm-space-xxl) 0;background:var(--cm-color-border)}.campaign-summary-main{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);gap:var(--cm-space-xxxl);align-items:start}.campaign-summary-final{display:flex;flex-direction:column;gap:var(--cm-space-sm)}.campaign-summary-final-amount{color:var(--cm-color-text);font-size:42px;line-height:1.2;font-weight:900}.campaign-summary-final-helper{color:var(--cm-color-text-muted);font-size:var(--cm-font-body);font-weight:700}.line-item-summary-edit-button{align-self:flex-start;margin-top:var(--cm-space-xs)}.line-item-summary-edit-locked.ant-typography{align-self:flex-start;margin-top:var(--cm-space-xs);color:var(--cm-color-text-muted);font-weight:700}.line-item-edit-tooltip-target{display:inline-flex}.campaign-summary-figures,.campaign-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cm-space-xl)}.campaign-context-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--cm-space-xxl)}.campaign-summary-metric{min-width:0}.campaign-summary-metric .ant-typography{display:block;margin-bottom:var(--cm-space-xs);color:var(--cm-color-text-muted);font-size:var(--cm-font-caption);font-weight:700}.campaign-summary-metric-value{color:var(--cm-color-text);font-size:15px;font-weight:800;overflow-wrap:anywhere}.campaign-summary-value-neutral{color:var(--cm-color-text)}.campaign-summary-value-success{color:var(--cm-summary-financial-success)}.campaign-summary-value-danger{color:var(--cm-color-danger)}.campaign-summary-helper,.campaign-summary-helper-success,.campaign-summary-helper-danger{display:block;margin-top:var(--cm-space-xxs);color:var(--cm-color-text-muted);font-size:var(--cm-font-caption);font-weight:700}.campaign-summary-helper-success{color:var(--cm-summary-financial-success)}.campaign-summary-helper-danger{color:var(--cm-color-danger)}.campaign-budget-usage{grid-column:1 / -1;padding:var(--cm-space-lg);border:1px solid var(--cm-color-border);border-radius:var(--cm-radius-lg);background:var(--cm-color-surface-muted)}.campaign-budget-usage .ant-progress{margin:var(--cm-space-sm) 0}.campaign-summary-review-note{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--cm-space-xl);align-items:start}.campaign-summary-review-label.ant-typography{color:var(--cm-color-text)}.campaign-summary-review-copy{display:grid;gap:var(--cm-space-xs);color:var(--cm-color-text);font-size:var(--cm-font-body);line-height:1.5;font-weight:700}.campaign-summary-review-success{color:var(--cm-summary-financial-success);font-weight:800}.campaign-summary-review-danger{color:var(--cm-color-danger);font-weight:800}.campaign-summary-review-neutral{color:var(--cm-color-text);font-weight:800}.campaign-summary-review-adjustment{color:var(--cm-color-text-subtle)}.campaign-tab-section{padding-top:var(--cm-space-lg)}.campaign-tab-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--cm-space-xl);margin-bottom:var(--cm-space-xl)}.campaign-tab-section-header h3.ant-typography{margin:0 0 var(--cm-space-xs);color:var(--cm-color-text);font-size:var(--cm-font-page-title);font-weight:800}.campaign-comments-empty{padding:var(--cm-space-xxl);border:1px solid var(--cm-color-border);border-radius:var(--cm-radius-lg);background:var(--cm-color-surface-muted)}.campaign-comment-input-stack{display:grid;gap:var(--cm-space-xs)}.campaign-comment-input-meta{display:flex;justify-content:flex-end;font-size:var(--cm-font-caption)}.campaign-comment-author{align-items:center}.campaign-comment-avatar.ant-avatar{flex:0 0 auto;color:var(--cm-color-primary);background:var(--cm-color-primary-soft);box-shadow:inset 0 0 0 1px var(--cm-color-border-strong)}.campaign-comment-body.ant-typography{margin:var(--cm-space-sm) 0 0;margin-inline-start:calc(28px + var(--cm-space-sm));color:var(--cm-color-text);line-height:1.65;white-space:pre-wrap}.campaign-comment-mention.ant-typography{display:inline-flex;align-items:center;min-height:22px;padding:0 6px;border:1px solid color-mix(in srgb,var(--cm-color-primary) 28%,transparent);border-radius:var(--cm-radius-sm);color:var(--cm-color-primary);background:var(--cm-color-primary-soft);line-height:1.35;white-space:nowrap}.metric-card{min-height:var(--cm-card-min-height);box-shadow:var(--cm-shadow-card)}.metric-card .ant-card-body{display:flex;align-items:center;justify-content:space-between;gap:var(--cm-space-lg)}.metric-label{color:var(--cm-color-text-muted);font-size:var(--cm-font-caption);font-weight:700}.metric-value{margin-top:var(--cm-space-xs);color:var(--cm-color-text);font-size:var(--cm-font-title);font-weight:800}.metric-delta{margin-left:var(--cm-space-xs);font-size:var(--cm-font-caption);font-weight:800}.metric-icon{width:46px;height:46px;border-radius:var(--cm-radius-md);color:var(--cm-color-surface);background:var(--cm-color-primary)}.section-card{box-shadow:var(--cm-shadow-card)}.section-card .ant-card-head-title{color:var(--cm-color-text);font-size:var(--cm-font-title);font-weight:800}.card-header-row,.invoice-preview-row{display:flex;align-items:center;justify-content:space-between;gap:var(--cm-space-md)}.table-toolbar{margin-bottom:var(--cm-space-lg)}.filter-row{display:grid;grid-template-columns:240px 120px auto;gap:var(--cm-space-md)}.campaign-filter-row{grid-template-columns:minmax(240px,1fr) 160px 160px auto;align-items:end}.campaign-date-filter-control{display:flex;flex-direction:column;gap:var(--cm-space-xs);color:var(--cm-color-text-muted);font-size:var(--cm-font-caption);font-weight:800}.campaign-date-filter-control .ant-input{height:40px}.audit-filter-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(110px,.7fr) minmax(150px,1fr) 40px;gap:var(--cm-space-md);align-items:center}.audit-filter-row .ant-select,.audit-filter-row .ant-input-number,.audit-filter-row .ant-btn{height:40px}.audit-filter-row .ant-input-number{width:100%}.audit-filter-row .ant-input-number-input{height:38px;line-height:38px}.audit-filter-row .ant-select-single .ant-select-selector{align-items:center}.audit-filter-reset.ant-btn{width:40px;padding-inline:0}.audit-summary-section{margin-top:var(--cm-space-xxl)}.audit-summary-section h5.ant-typography{margin:0 0 var(--cm-space-md);color:var(--cm-color-text);font-size:var(--cm-font-title);font-weight:800}.archive-checkbox{display:flex;align-items:center;min-height:40px;height:auto;min-width:0;max-width:100%;white-space:nowrap;color:#374151}.archive-checkbox .ant-checkbox+span{min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap}.campaign-calendar-card .ant-card-body{min-width:0;padding:var(--cm-space-xxl)}.campaign-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--cm-space-lg);margin-bottom:var(--cm-space-xl)}.campaign-calendar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--cm-space-lg)}.campaign-calendar-nav-row{display:grid;min-width:0;width:100%;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--cm-space-sm);margin-bottom:var(--cm-space-lg)}.campaign-calendar-nav-buttons{display:flex;align-items:center;gap:var(--cm-space-xs);justify-self:start}.campaign-calendar-title-controls{display:flex;align-items:center;gap:var(--cm-space-sm);justify-self:center}.campaign-calendar-date-control{display:flex;align-items:center;gap:var(--cm-space-xs);color:var(--cm-color-text-muted);font-size:var(--cm-font-caption);font-weight:800}.campaign-calendar-date-control .ant-select{min-width:96px}.campaign-calendar-title.ant-typography{margin:0;color:var(--cm-color-text);font-size:var(--cm-font-page-title);line-height:1.3;font-weight:800}.campaign-calendar-alert{margin-bottom:var(--cm-space-lg)}.campaign-calendar-shell{min-width:0;width:100%;max-width:100%;min-height:720px;overflow-x:visible}.campaign-calendar-shell[aria-busy=true] .fc-view-harness{opacity:.68}.campaign-calendar-shell .fc{min-width:0;width:100%;max-width:100%;color:var(--cm-color-text)}.campaign-calendar-shell .fc .fc-scrollgrid{width:100%}.campaign-calendar-shell .fc .fc-toolbar.fc-header-toolbar{gap:var(--cm-space-md);margin-bottom:var(--cm-space-lg)}.campaign-calendar-shell .fc .fc-toolbar-title{color:var(--cm-color-text);font-size:var(--cm-font-title);line-height:1.3;font-weight:800}.campaign-calendar-shell .fc .fc-button-primary{border-color:var(--cm-color-border-strong);border-radius:var(--cm-radius-sm);color:var(--cm-color-text);background:var(--cm-color-surface);font-weight:700;box-shadow:none}.campaign-calendar-shell .fc .fc-button-primary:hover,.campaign-calendar-shell .fc .fc-button-primary:focus-visible,.campaign-calendar-shell .fc .fc-button-primary:not(:disabled).fc-button-active{border-color:var(--cm-color-primary);color:var(--cm-color-primary);background:var(--cm-color-primary-soft)}.campaign-calendar-shell .fc .fc-button-primary:disabled{border-color:var(--cm-color-border);color:var(--cm-color-text-muted);background:var(--cm-color-surface-muted)}.campaign-calendar-shell .fc .fc-scrollgrid,.campaign-calendar-shell .fc td,.campaign-calendar-shell .fc th{border-color:var(--cm-color-border)}.campaign-calendar-shell .fc .fc-col-header-cell-cushion,.campaign-calendar-shell .fc .fc-daygrid-day-number{color:var(--cm-color-text-subtle);font-weight:800}.campaign-calendar-shell .fc .fc-daygrid-day-top{flex-direction:row;justify-content:flex-end;min-width:0;padding-inline-end:var(--cm-space-lg)}.campaign-calendar-shell .fc .fc-daygrid-day-number{padding:4px 0 4px 4px}.campaign-calendar-shell .fc .fc-daygrid-day-frame{min-height:104px;padding:var(--cm-space-xs)}.campaign-calendar-shell .fc .fc-day-today{background:var(--cm-color-primary-soft)}.campaign-calendar-shell .fc .fc-daygrid-event{min-height:21px;align-items:center;border-width:1px;border-radius:5px;font-size:var(--cm-font-caption);font-weight:700;cursor:pointer;transition:box-shadow .12s ease,filter .12s ease}.campaign-calendar-shell .fc .fc-daygrid-event:hover,.campaign-calendar-shell .fc .fc-daygrid-event:focus-visible{filter:brightness(.94) saturate(1.04);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cm-color-surface) 38%,transparent)}.campaign-calendar-shell .fc .fc-daygrid-event .fc-event-main{min-width:0;padding:2px 7px;color:inherit}.campaign-calendar-shell .fc .fc-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.status-tag{border:0;font-weight:700}.chart-bars{height:230px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:var(--cm-space-lg);padding:var(--cm-space-xl) 0 0}.chart-bar-group{display:flex;min-width:0;flex-direction:column;align-items:center;gap:var(--cm-space-sm)}.chart-bar-track{width:100%;height:180px;display:flex;align-items:end;justify-content:center;border-radius:var(--cm-radius-lg);background:var(--cm-color-surface-muted);overflow:hidden}.chart-bar{width:58%;min-height:var(--cm-space-sm);border-radius:var(--cm-radius-lg) var(--cm-radius-lg) 0 0;background:var(--cm-color-primary)}.chart-label{color:var(--cm-color-text-subtle);font-size:var(--cm-font-caption);font-weight:700}.muted-text{color:var(--cm-color-text-subtle)}.amount-positive{color:var(--cm-color-positive)}.amount-negative{color:var(--cm-color-danger)}.amount-neutral{color:var(--cm-color-text)}.campaign-title{display:flex;min-width:0;flex-direction:column}.campaign-title strong{color:var(--cm-color-text)}.campaign-title span{color:var(--cm-color-text-muted);font-size:var(--cm-font-caption)}.invoice-preview-total{font-size:var(--cm-font-display);font-weight:800}.empty-state{padding:var(--cm-space-xxl);border-radius:var(--cm-radius-lg);background:var(--cm-color-surface-muted)}.ant-table-wrapper{min-width:0;max-width:100%}.ant-table-wrapper .ant-table{max-width:100%}.responsive-list-table.campaign-table{--cm-campaign-primary-column-width: 188px}.responsive-list-table.invoice-table{--cm-invoice-primary-column-width: 188px}.responsive-list-table.line-item-table{--cm-line-item-primary-column-width: 220px}.responsive-list-table.audit-event-table{--cm-audit-event-primary-column-width: 188px}.responsive-list-table.adjustment-audit-table{--cm-adjustment-audit-line-column-width: 220px;--cm-adjustment-audit-amount-column-width: 220px;--cm-adjustment-audit-reason-column-width: auto}.ant-table-wrapper .ant-table-cell{min-width:0;overflow-wrap:anywhere;vertical-align:middle}.table-link{display:block;min-width:0;max-width:100%}.table-link-text{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adjustment-audit-header-nowrap,.adjustment-audit-table .adjustment-audit-amount-column{overflow-wrap:normal;white-space:nowrap}.table-action-cell{white-space:nowrap}.table-action-buttons.ant-space{justify-content:flex-end;gap:var(--cm-space-xs)}.table-action-cell .ant-btn{width:34px;min-width:34px;padding-inline:0}.ant-table-wrapper .ant-pagination{flex-wrap:wrap;row-gap:var(--cm-space-xs)}.ant-table-tbody>tr>td{height:var(--cm-table-row-height)}.ant-card,.ant-table-wrapper .ant-table{border-color:var(--cm-color-border)}@media(max-width:1100px){.detail-grid,.campaign-summary-main,.campaign-context-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-shell-compact .content{min-height:calc(100vh - 58px);padding:var(--cm-space-md)}.mobile-topbar-main{gap:var(--cm-space-md)}.detail-page-header,.campaign-detail-header,.campaign-tab-section-header,.campaign-summary-review-note{grid-template-columns:1fr}.detail-page-header,.campaign-detail-header,.campaign-tab-section-header{flex-direction:column}.detail-page-actions,.campaign-detail-archive-action{align-items:stretch;width:100%;padding-top:0}.detail-page-actions>.ant-space{width:100%;align-items:stretch}.campaign-summary-paper .ant-card-body{padding:var(--cm-space-xl)}.campaign-summary-final-amount{font-size:var(--cm-font-display)}.campaign-summary-figures{grid-template-columns:1fr}.detail-page-tabs.ant-tabs .ant-tabs-nav-list,.campaign-detail-tabs.ant-tabs .ant-tabs-nav-list{width:100%;flex-wrap:wrap}.detail-page-tabs.ant-tabs .ant-tabs-tab,.campaign-detail-tabs.ant-tabs .ant-tabs-tab{flex:1 1 calc(50% - var(--cm-space-md));min-width:0}.table-toolbar{width:100%}.table-toolbar,.invoice-preview-row{align-items:stretch;flex-direction:column}.filter-row,.campaign-filter-row{grid-template-columns:1fr}.ant-table-wrapper .ant-table-cell{padding:12px var(--cm-space-sm)}.ant-table-wrapper .ant-pagination{justify-content:flex-start}.ant-table-wrapper .ant-pagination-total-text{width:100%}.campaign-calendar-toolbar,.campaign-calendar-nav-row,.campaign-calendar-actions{align-items:stretch;flex-direction:column}.campaign-calendar-nav-row{display:flex;min-width:0;margin-bottom:var(--cm-space-md)}.campaign-calendar-nav-buttons{justify-content:flex-start}.campaign-calendar-title-controls,.campaign-calendar-date-control{align-items:stretch;flex-direction:column}.campaign-calendar-shell{min-height:620px}.campaign-calendar-shell .fc .fc-daygrid-day-frame{min-height:86px}.audit-filter-row{grid-template-columns:1fr}}@media(max-width:767px){.responsive-list-table.campaign-table{--cm-campaign-primary-column-width: auto}.responsive-list-table.invoice-table{--cm-invoice-primary-column-width: auto}.responsive-list-table.line-item-table{--cm-line-item-primary-column-width: auto}.responsive-list-table.audit-event-table{--cm-audit-event-primary-column-width: auto}.responsive-list-table.adjustment-audit-table{--cm-adjustment-audit-line-column-width: auto}}@media(max-width:560px){.app-shell-compact .content{padding:var(--cm-space-sm)}.mobile-topbar-main{padding:var(--cm-space-sm) var(--cm-space-md)}.mobile-brand-logo{width:min(168px,70vw)}.mobile-menu-drawer .ant-drawer-body{padding:var(--cm-space-md)}}
