:root{--app-viewport-height:100dvh;--keyboard-inset:0px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{min-height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:var(--app-viewport-height);overflow-x:hidden;padding-left:var(--safe-left);padding-right:var(--safe-right)}
#toast{max-width:calc(100vw - 32px - var(--safe-left) - var(--safe-right));bottom:calc(16px + var(--safe-bottom) + var(--keyboard-inset))}
#connection-status{position:fixed;z-index:1800;top:calc(10px + var(--safe-top));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px - var(--safe-left) - var(--safe-right));padding:9px 13px;border:1px solid #d6c89c;border-radius:8px;background:#fff5ce;color:#604f17;box-shadow:0 8px 26px #1c2d2230;font-size:11px;font-weight:700;text-align:center}
#connection-status[data-state="online"]{border-color:#bfd3b7;background:#eef7ea;color:#355c43}
#connection-status[hidden]{display:none}
.is-offline [data-save-status]{color:#807759!important}
input,textarea,select,[contenteditable="true"]{max-width:100%;scroll-margin-top:96px;scroll-margin-bottom:calc(24px + var(--keyboard-inset))}
textarea{resize:vertical}
.editor-status [data-save-status]{display:inline-flex;align-items:center;gap:7px;padding:3px 2px;border:0;background:transparent;color:#78877d;font-size:9px;font-weight:600;white-space:nowrap}
.editor-status [data-save-status]:before{content:'';width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#62906b}
.editor-status [data-save-state="saving"]:before{background:#b39a59;animation:ccp-save-pulse 1s ease-in-out infinite}
.editor-status [data-save-state="unsaved"]:before{background:#b39a59}
.editor-status [data-save-state="error"]:before{background:#aa6757}
.editor-status [data-save-state="readonly"]:before{background:#9aa39d}
@keyframes ccp-save-pulse{50%{opacity:.4;transform:scale(.78)}}
.campaign-selected-assets{display:grid;gap:7px;margin:10px 0}.campaign-selected-assets>span{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.campaign-selected-assets b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.campaign-add-asset,.campaign-add-channel{margin-top:8px}
.campaign-selected-channels{display:grid;gap:8px}.campaign-selected-channels>.simple-channel-row{grid-template-columns:minmax(120px,.4fr) minmax(0,1fr)}
.campaign-assets-overlay,.campaign-channels-overlay{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) max(16px,var(--safe-bottom)) max(16px,var(--safe-left));background:#17261e73;backdrop-filter:blur(4px)}
.campaign-assets-dialog,.campaign-channels-dialog{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(760px,calc(var(--app-viewport-height) - 32px));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 26px 80px #17261e42}
.campaign-assets-dialog>header,.campaign-channels-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 20px 12px}.campaign-assets-dialog h2,.campaign-channels-dialog h2{font-size:18px}.campaign-assets-dialog header p,.campaign-channels-dialog header p{margin:3px 0 0;color:var(--muted);font-size:11px}.campaign-assets-dialog header>.button,.campaign-channels-dialog header>.button{width:36px;height:36px;padding:0;font-size:18px}
.campaign-asset-search,.campaign-channel-search{display:block;padding:0 20px 12px}.campaign-asset-search input,.campaign-channel-search input{width:100%;height:42px;margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px}
.campaign-asset-options,.campaign-channel-options{min-height:120px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbf8}.campaign-asset-options>label,.campaign-channel-options>label{display:grid;grid-template-columns:22px 34px minmax(0,1fr);gap:10px;align-items:center;margin:0;padding:11px 20px;border-bottom:1px solid var(--line);cursor:pointer}.campaign-channel-options>label{grid-template-columns:22px minmax(0,1fr)}.campaign-asset-options>label:last-child,.campaign-channel-options>label:last-child{border-bottom:0}.campaign-asset-options>label:hover,.campaign-channel-options>label:hover{background:#f1f5ee}.campaign-asset-options input,.campaign-channel-options input{margin:0}.campaign-asset-options strong,.campaign-asset-options small,.campaign-channel-options strong,.campaign-channel-options small{display:block}.campaign-asset-options small,.campaign-channel-options small{margin-top:2px;color:var(--muted);font-size:9px}
.campaign-assets-dialog>footer,.campaign-channels-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px}.campaign-assets-dialog>footer>span,.campaign-channels-dialog>footer>span{color:var(--muted);font-size:10px}
.resource-modal,.report-builder-overlay,.confirm-overlay{height:var(--app-viewport-height);padding-top:max(12px,var(--safe-top));padding-right:max(12px,var(--safe-right));padding-bottom:max(12px,var(--safe-bottom));padding-left:max(12px,var(--safe-left))}
.resource-modal .resource-picker,.report-builder,.confirm-dialog{max-height:calc(var(--app-viewport-height) - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom)))}
@media(max-width:900px){
  html.mobile-nav-open{overflow:hidden}
  .sidebar{position:fixed!important;z-index:125;top:60px!important;left:var(--safe-left);bottom:auto;width:min(340px,calc(100vw - var(--safe-left) - var(--safe-right) - 20px));height:auto!important;max-height:calc(var(--app-viewport-height) - 60px - var(--safe-bottom));overflow-y:auto;padding:14px 12px calc(18px + var(--safe-bottom));border:1px solid var(--line);border-top:0;border-radius:0 0 12px 0;background:#f5f7f1;box-shadow:0 20px 48px #17261e2e;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
  .mobile-nav-open .sidebar{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
  .mobile-nav-open .topbar-product .mark{box-shadow:0 0 0 3px #dce8d7}
  .mobile-nav-backdrop{position:fixed;z-index:121;inset:60px 0 0;border:0;background:#17261e38;backdrop-filter:blur(2px);touch-action:none}
  .sidebar .nav{min-height:46px;width:100%}
  .mobile-workspace-name{display:grid;gap:2px;margin:0 4px 14px;padding:0 8px 13px;border-bottom:1px solid var(--line)}
  .mobile-workspace-name small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}
  .mobile-workspace-name strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
  input:not([type="checkbox"]):not([type="radio"]),textarea,select,[contenteditable="true"]{font-size:16px!important;line-height:1.35}
  button,.button,summary,a[role="button"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  button,.button,summary{min-height:44px}
  input[type="checkbox"],input[type="radio"]{min-width:20px;min-height:20px}
  .main{min-width:0;padding-bottom:calc(32px + var(--safe-bottom))}
  .panel,.campaign-edit-section,.simple-channel-row,.task-comment-form>*{min-width:0}
  .row,.section-actions,.campaign-start-actions,.report-builder-actions{min-width:0;max-width:100%}
  .keyboard-open #toast{transition:none}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media(max-width:560px){
  .app-topbar{grid-template-columns:auto minmax(0,1fr) auto!important;width:100%;padding-right:var(--safe-right);padding-left:var(--safe-left)}
  .app-topbar>.topbar-product{grid-column:1;flex:0 0 auto}
  .app-topbar>.workspace-menu-wrap{display:none!important}
  .app-topbar>.top-utility{grid-column:3;justify-self:end;flex:0 0 auto;margin-right:8px}
  .app-topbar>.global-search-wrap{position:relative!important;display:flex!important;grid-column:2;grid-row:1;justify-self:start;width:44px!important;min-width:44px;margin:0!important;overflow:visible;transition:width .18s ease}
  .app-topbar>.global-search-wrap.open{justify-self:stretch;width:100%!important}
  .global-search-wrap .global-search-toggle{display:grid;flex:0 0 44px;width:44px;height:44px}
  .global-search-wrap.open>input{min-width:0;width:calc(100% - 50px)!important}
  .global-search-results{right:0;left:0;top:50px;width:min(430px,calc(100vw - 84px - var(--safe-left) - var(--safe-right)));max-height:calc(var(--app-viewport-height) - 76px)}
  .section-actions,.campaign-start-actions,.report-builder-actions{flex-wrap:wrap}
  .section-actions>.button,.campaign-start-actions>.button{flex:1 1 auto}
  .task-comment-form textarea{min-height:96px}
  .editor-status{align-items:center}.editor-status [data-save-status]{max-width:none;white-space:nowrap;text-align:left}
  .campaign-selected-channels>.simple-channel-row{grid-template-columns:1fr}.campaign-selected-channels textarea{min-height:82px}
  .campaign-assets-overlay,.campaign-channels-overlay{place-items:end center;padding:0}
  .campaign-assets-dialog,.campaign-channels-dialog{width:100%;max-height:calc(var(--app-viewport-height) - max(12px,var(--safe-top)));border-radius:16px 16px 0 0;border-bottom:0}
  .campaign-assets-dialog>header,.campaign-channels-dialog>header{padding:16px 16px 10px}.campaign-asset-search,.campaign-channel-search{padding:0 16px 10px}.campaign-asset-options>label,.campaign-channel-options>label{padding:12px 16px}.campaign-assets-dialog>footer,.campaign-channels-dialog>footer{padding:12px 16px calc(12px + var(--safe-bottom))}
}
@media(min-width:901px){.mobile-workspace-name{display:none}}
