:root{color-scheme:light;--bg-app: #f3f4f6;--bg-sidebar: #ffffff;--bg-card: #ffffff;--bg-muted: #f9fafb;--bg-metric: #f3f4f6;--border: #e5e7eb;--border-strong: #111827;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--accent: #111827;--accent-hover: #374151;--danger-bg: #fef2f2;--danger-text: #b91c1c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);font-family:Inter,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg-app);color:var(--text-primary)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand-icon{font-size:18px}.brand-title{font-size:15px;font-weight:700;line-height:1.2}.selector{position:relative}.selector--sidebar{padding:0 8px}.selector-label{display:block;margin-bottom:8px;font-size:12px;font-weight:500;color:var(--text-secondary)}.selector-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary)}.selector-chevron{color:var(--text-muted);font-size:12px}.selector-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;z-index:20;max-height:240px;overflow:auto}.selector-option{width:100%;border:0;background:transparent;color:var(--text-primary);text-align:left;padding:10px 12px;border-radius:8px}.selector-option:hover,.selector-option.selected{background:var(--bg-muted)}.nav-list{display:flex;flex-direction:column;gap:4px;flex:1}.nav-item{border:0;background:transparent;color:var(--text-secondary);text-align:left;padding:10px 12px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}.nav-item:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary)}.nav-item.active{background:var(--accent);color:#fff}.nav-icon{width:18px;text-align:center;flex-shrink:0}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:12px;padding:12px 8px 0;border-top:1px solid var(--border)}.sidebar-user-meta{flex:1;min-width:0}.sidebar-user-meta .user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-secondary);padding:6px 10px;font-size:12px;font-weight:600;flex-shrink:0}.sidebar-logout:hover{background:var(--bg-muted);color:var(--text-primary)}.user-avatar{width:36px;height:36px;border-radius:999px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-size:12px;font-weight:700}.user-name{font-size:14px;font-weight:600}.user-role{font-size:12px;color:var(--text-secondary)}.main{padding:32px 40px 48px;min-width:0;max-width:100%;overflow-x:hidden}.page-header{margin-bottom:28px}.page-header--row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-title{margin:0;font-size:32px;font-weight:700;letter-spacing:-.02em}.page-subtitle{margin:8px 0 0;color:var(--text-secondary);font-size:15px}.primary-button,.secondary-button{border-radius:10px;padding:10px 16px;border:1px solid transparent;font-weight:600;font-size:14px;white-space:nowrap}.primary-button{background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.secondary-button{background:#fff;border-color:var(--border);color:var(--text-primary)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.game-card--skeleton{pointer-events:none}.skeleton{background:linear-gradient(90deg,var(--bg-muted) 25%,#eceff3 50%,var(--bg-muted) 75%);background-size:200% 100%;animation:skeleton-pulse 1.4s ease-in-out infinite;border-radius:8px}.skeleton--icon{width:36px;height:36px;border-radius:10px;flex-shrink:0}.skeleton-lines{display:flex;flex-direction:column;gap:8px;flex:1}.skeleton--title{height:18px;width:60%}.skeleton--subtitle{height:14px;width:40%}.skeleton--badge{width:56px;height:24px;border-radius:999px}.skeleton--metric{height:48px;flex:1}.skeleton--action{height:40px;width:100%;border-radius:10px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.game-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.game-card.selected{border:2px solid var(--border-strong)}.game-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.game-card-title-row{display:flex;align-items:flex-start;gap:12px;min-width:0}.game-card-title-row>div{min-width:0;flex:1}.game-card-icon{width:36px;height:36px;border-radius:10px;background:var(--bg-muted);display:grid;place-items:center;font-size:18px}.game-card-name{margin:0;font-size:18px;font-weight:700}.game-card-platform{margin:4px 0 0;color:var(--text-secondary);font-size:14px}.game-card-id-row{display:flex;align-items:center;gap:6px;margin-top:6px;min-width:0}.game-card-id{font-family:inherit;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-button{border:0;background:var(--bg-muted);color:var(--text-secondary);font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;cursor:pointer;flex-shrink:0}.copy-button:hover{background:#e5e7eb}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;text-transform:lowercase;white-space:nowrap}.status-badge.live{background:var(--accent);color:#fff}.status-badge.soft-launch{background:#e5e7eb;color:#374151}.status-badge.other{background:var(--bg-muted);color:var(--text-secondary)}.game-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.game-card-metric{background:var(--bg-metric);border-radius:12px;padding:12px 14px}.game-card-metric-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.game-card-metric-value{font-size:22px;font-weight:700}.game-card-inventory{display:flex;gap:16px;color:var(--text-secondary);font-size:13px}.game-card-action{width:100%;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;text-align:center}.game-card-action--active{background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border)}.game-card-action--select{border:0;background:var(--accent);color:#fff}.game-card-action--select:hover{background:var(--accent-hover)}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182766;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:24px;z-index:50}.modal{width:min(480px,100%);margin:auto 0;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);padding:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-shrink:0}.modal-title{margin:0;font-size:22px}.icon-button{border:0;background:transparent;color:var(--text-secondary);font-size:24px;line-height:1}.form-grid{display:grid;gap:16px}.field label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px}.field input,.field select,.field textarea{width:100%;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text-primary);padding:10px 12px;font:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-shrink:0}.modal>form,.modal>.form-grid,.modal>.segment-form,.modal>.item-form,.modal>.campaign-form{flex:1;min-height:0;overflow-y:auto;padding:4px 6px;margin:-4px -2px}.modal>form .modal-actions,.modal>.form-grid .modal-actions,.modal>.segment-form .modal-actions,.modal>.item-form .modal-actions,.modal>.campaign-form .modal-actions{position:sticky;bottom:0;z-index:1;margin-top:16px;padding-top:12px;background:#fff;border-top:1px solid var(--border)}.error-banner,.empty-state{border-radius:12px;padding:14px 16px}.error-banner{background:var(--danger-bg);color:var(--danger-text);margin-bottom:16px}.success-banner{border-radius:12px;padding:14px 16px;background:#ecfdf5;color:#065f46;margin-bottom:16px}.error-banner--row{display:flex;align-items:center;justify-content:space-between;gap:12px}.empty-state{background:var(--bg-card);border:1px dashed var(--border);color:var(--text-secondary)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px 18px 8px;margin-bottom:20px}.chart-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.chart-empty{padding:32px 0;text-align:center;color:var(--text-muted);font-size:13px}.dashboard-charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.dash-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.dash-segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.dash-segmented button{padding:6px 14px;border:0;background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer}.dash-segmented button+button{border-left:1px solid var(--border)}.dash-segmented button.active{background:var(--accent);color:#fff}.dash-filter{width:auto;min-width:130px;padding:6px 10px;font-size:13px}.dash-leaderboard tbody tr{cursor:pointer}.dash-leaderboard-row:hover{background:var(--bg-muted)}.dash-leaderboard-row--active{background:var(--bg-muted);box-shadow:inset 3px 0 0 var(--accent)}.dash-leaderboard .rate-ok{color:#059669;font-weight:600}.dash-leaderboard .rate-warn{color:#d97706;font-weight:600}.dash-leaderboard .rate-bad{color:#dc2626;font-weight:600}.dashboard-degraded{margin-bottom:20px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-muted);color:var(--text-secondary);font-size:13px;line-height:1.5}.metric-label{color:var(--text-secondary);font-size:13px}.metric-value{margin-top:8px;font-size:28px;font-weight:700}.metric-delta{margin-top:8px;color:#059669;font-size:13px}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.main{padding:24px}.page-header--row{flex-direction:column}}.login-page,.auth-loading{min-height:100vh;display:grid;place-items:center;padding:24px;background:#d4ff33}.login-card{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.login-logo{width:160px;height:160px;object-fit:contain}.login-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em;color:#111827}.login-subtitle{margin:0;max-width:320px;color:#1f2937;font-size:15px;line-height:1.5}.login-error{margin:0;width:100%;border-radius:12px;padding:12px 14px;background:#b91c1c1f;color:#991b1b;font-size:14px}.login-button{width:100%;border:0;border-radius:999px;padding:14px 20px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px}.login-button--google,.login-button--primary{background:#111827;color:#fff}.login-button--google:hover:not(:disabled),.login-button--primary:hover:not(:disabled){background:#374151}.login-button-icon{width:22px;height:22px;border-radius:999px;background:#fff;color:#111827;display:grid;place-items:center;font-size:13px;font-weight:800}.login-hint{margin:0;max-width:320px;color:#374151;font-size:13px;line-height:1.5}.login-hint code{font-size:12px}.segments-view-tabs{display:flex;gap:8px;margin-bottom:20px}.segments-view-tab{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.segments-view-tab.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.segments-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.segments-search-input,.segments-filter-select{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-primary);padding:10px 12px;font-size:14px}.segments-search-input{flex:1 1 220px}.segments-filter-select{flex:0 1 260px}.segments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.segments-list{display:grid;gap:16px}.segment-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;min-height:220px;min-width:0}.segment-card-header{display:flex;align-items:center;gap:10px}.segment-card-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.segment-card-title{margin:0;font-size:18px;flex:1;min-width:0;overflow-wrap:anywhere}.segment-card-locked-note{margin:0;color:var(--text-muted);font-size:13px}.segment-card-description{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.4;overflow-wrap:anywhere}.segment-card-rules{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}.segment-rule-pill{display:block;max-width:100%;padding:8px 10px;border-radius:10px;background:#f3f4f6;color:#374151;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.segment-card-actions{display:flex;align-items:center;gap:10px}.segment-card-dates{display:flex;flex-direction:column;gap:6px;margin:auto 0 0}.segment-card-date-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.4}.segment-card-date-row dt{margin:0;color:var(--text-muted);font-weight:500}.segment-card-date-row dd{margin:0;color:var(--text-secondary);text-align:right}.segment-card-actions .secondary-button{flex:1}.segment-delete-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#dc2626;flex-shrink:0;cursor:pointer}.segment-delete-button:hover{background:#fee2e2;border-color:#fca5a5}.modal--wide{width:min(720px,calc(100vw - 32px))}.modal--compact{width:min(420px,calc(100vw - 32px))}.segment-form{display:flex;flex-direction:column;gap:16px}.segment-rules-section{display:flex;flex-direction:column;gap:12px}.segment-rules-hint{margin:-4px 0 0;color:var(--text-muted);font-size:13px}.segment-rules-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.segment-rules-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.segment-combinator-select{width:auto;min-width:200px}.segment-n-field{display:inline-flex;align-items:center;gap:6px}.segment-n-label{color:var(--text-muted);font-size:13px;font-weight:600}.segment-n-input{width:72px}.segment-rules-list{display:flex;flex-direction:column;gap:10px;overflow-x:auto}.segment-rule-row{display:grid;grid-template-columns:28px minmax(120px,1.2fr) 88px minmax(100px,1fr) 36px;gap:8px;align-items:center}.segment-rule-row--event{grid-template-columns:28px minmax(140px,1.4fr) 100px minmax(100px,1fr) 36px}.segment-rule-row--dict{grid-template-columns:28px minmax(110px,1fr) minmax(110px,1fr) 92px minmax(80px,1fr) 36px;min-width:540px}.segment-rule-row--readonly{grid-template-columns:28px auto minmax(120px,1fr) minmax(80px,1fr) 36px}.segment-rule-index{color:var(--text-muted);font-size:12px;font-weight:600;text-align:center}.segment-rule-system-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;background:#7c3aed1f;color:#7c3aed;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.segment-rule-readonly-label{color:var(--text-secondary);font-size:14px}.segment-rule-readonly-value{color:var(--text-primary);font-size:14px;font-weight:500}.segment-rule-remove-spacer{width:36px}.segment-rule-actions{display:flex;flex-wrap:wrap;gap:8px}.segment-card-rule-summary{margin:0 0 8px;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:uppercase;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.segment-rule-preview{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-muted, #f8fafc)}.segment-rule-preview--invalid{border-color:#fecaca;background:#fef2f2}.segment-rule-preview-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:uppercase}.segment-rule-preview p{margin:0;color:var(--text-primary);font-size:14px;line-height:1.5}.segment-rule-preview--invalid p{color:#b91c1c}.segment-rule-comparison{text-align:center}.segment-rule-remove{justify-self:center}.segment-add-rule{align-self:flex-start}.delete-segment-copy{margin:0 0 8px;color:var(--text-secondary);line-height:1.5}.warning-banner{border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;line-height:1.45;font-size:14px}.item-delete-hint{margin:0 0 12px;color:var(--text-muted);font-size:13px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.item-form{margin-top:4px}.field .item-form-checkbox-label{display:flex;align-items:center;gap:12px;margin-bottom:0;font-size:15px;font-weight:500;color:var(--text-primary);cursor:pointer}.field .item-form-checkbox-label input[type=checkbox]{width:18px;height:18px;min-width:18px;padding:0;margin:0;flex-shrink:0;cursor:pointer}.item-form-checkbox-field .field-hint{font-size:13px}.checkbox-with-help{display:flex;align-items:center;gap:8px}.segment-form-fieldset{display:contents;border:0;margin:0;padding:0;min-width:0}.segment-form-fieldset:disabled input,.segment-form-fieldset:disabled select,.segment-form-fieldset:disabled textarea{background:var(--bg-muted);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.segment-form-fieldset:disabled .secondary-button,.segment-form-fieldset:disabled .icon-button{opacity:.5;cursor:not-allowed}.segment-form-fieldset:disabled .field-label,.segment-form-fieldset:disabled .segment-rules-hint,.segment-form-fieldset:disabled .segment-rule-index,.segment-form-fieldset:disabled .segment-rule-readonly-label,.segment-form-fieldset:disabled .segment-rule-system-badge{color:var(--text-muted);opacity:.85}.segment-locked-banner{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-muted);color:var(--text-secondary);font-size:13px;line-height:1.5}.th-with-help{display:inline-flex;align-items:center;gap:6px}.help-tooltip{position:relative;display:inline-flex}.help-tooltip-button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--bg-muted);color:var(--text-muted);font-size:12px;font-weight:600;line-height:1;cursor:pointer}.help-tooltip-button:hover{border-color:var(--border-strong);color:var(--text-primary)}.help-tooltip-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:40;width:max-content;max-width:260px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:12px;font-weight:400;line-height:1.5;text-align:left;text-transform:none;letter-spacing:normal;box-shadow:var(--shadow-md)}.help-tooltip-popover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--bg-card)}.item-metadata-textarea{min-height:80px;max-height:160px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.45;resize:vertical}.field-hint{margin:6px 0 0;color:var(--text-muted);font-size:12px}.item-icon-preview{display:block;margin-top:10px;width:48px;height:48px;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:#f9fafb}.items-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}.items-table{width:100%;border-collapse:collapse;font-size:14px}.items-table th,.items-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.items-table th{color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;background:#fafafa}.items-table tbody tr:last-child td{border-bottom:0}.items-table-actions-col{text-align:right;white-space:nowrap}.items-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.items-table-icon-col{width:56px}.item-list-icon{display:block;width:40px;height:40px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#f9fafb}.item-list-icon--empty{background:#f3f4f6}.item-sku-code{font-size:12px;background:#f3f4f6;padding:3px 8px;border-radius:6px}.item-category-pill{display:inline-block;font-size:12px;padding:3px 8px;border-radius:999px;background:#f3f4f6;color:#374151;text-transform:capitalize}.item-category-pill--currency{background:#ecfdf5;color:#047857}.item-category-pill--booster{background:#eff6ff;color:#1d4ed8}.item-category-pill--cosmetic{background:#faf5ff;color:#7e22ce}.item-category-pill--bundle{background:#fff7ed;color:#c2410c}@media (max-width: 720px){.field-row{grid-template-columns:1fr}}.danger-button{border:0;border-radius:10px;padding:10px 16px;background:#dc2626;color:#fff;font:inherit;font-weight:600;cursor:pointer}.danger-button:disabled{opacity:.6;cursor:not-allowed}.segment-card-preview{margin:0 0 8px;color:var(--text-secondary)}.segment-card-meta{margin:0;font-size:12px;color:var(--text-muted)}.segment-dev-panel{display:flex;flex-direction:column;gap:28px}.segment-dev-section{display:flex;flex-direction:column;gap:16px;padding-top:8px;border-top:1px solid var(--border)}.segment-dev-section:first-of-type{padding-top:0;border-top:0}.segment-dev-section-title{margin:0;font-size:16px}.segment-dev-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.segment-dev-section-hint{margin:0;color:var(--text-muted);font-size:13px}.segment-dev-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.segment-dev-summary-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.segment-dev-summary-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.segment-dev-report{display:flex;flex-direction:column;gap:16px}.segment-dev-table-wrap{max-height:480px;overflow:auto;border:1px solid var(--border);border-radius:12px}.segment-dev-table-wrap .segment-dev-table{border:0;border-radius:0}.segment-dev-form{display:grid;gap:12px;max-width:420px}.segment-dev-batch-form{display:grid;gap:12px}.segment-dev-textarea{min-height:160px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.segment-dev-results-title{margin:0 0 12px;font-size:16px}.segment-dev-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.segment-dev-table th,.segment-dev-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top}.segment-dev-table tr:last-child td{border-bottom:0}.test-tab-caveat{margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-secondary);font-size:13px}.test-tab-served-list{margin:0;padding-left:20px}.test-tab-served-meta{color:var(--text-muted);font-size:13px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.field-input{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit}.field-input-with-prefix{display:flex;align-items:stretch;width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.field-input-with-prefix:focus-within{outline:2px solid rgba(17,24,39,.2);outline-offset:1px}.field-input-prefix{display:inline-flex;align-items:center;padding:0 0 0 12px;color:var(--text-secondary);font-size:14px;font-weight:600;flex-shrink:0;-webkit-user-select:none;user-select:none}.field-input-with-prefix input{border:0;border-radius:0;outline:none;box-shadow:none;min-width:0;flex:1}.offers-toolbar{align-items:center;width:100%;max-width:100%;min-width:0}.offers-page-content{width:100%;max-width:100%;min-width:0}.offers-date-filter{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:600}.offers-date-filter input{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-primary);padding:10px 12px;font-size:14px;font-weight:400}.offers-month-nav{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.offers-month-label{min-width:140px;text-align:center;font-size:14px;font-weight:600}.offers-list-section{margin-top:28px;width:100%;min-width:0}.campaign-calendar{width:100%;max-width:100%;min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.campaign-calendar-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 18px 12px}.campaign-calendar-title{margin:0;font-size:16px;font-weight:700}.campaign-calendar-hint{margin:0;color:var(--text-secondary);font-size:13px}.campaign-calendar-empty{padding:24px 18px 28px;color:var(--text-secondary);font-size:14px}.campaign-calendar-scroll{width:100%;max-width:100%;max-height:min(420px,55vh);overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--border);background:linear-gradient(var(--bg-card),var(--bg-card)) left top / 180px 56px no-repeat local,var(--bg-card)}.campaign-calendar-frame{display:grid;grid-template-columns:180px max-content;grid-template-rows:auto auto;width:max-content;min-width:100%;box-sizing:border-box}.campaign-calendar-corner{grid-column:1;grid-row:1;position:sticky;top:0;left:0;z-index:6;height:56px;display:flex;align-items:center;padding:0 12px;background:var(--bg-card);border-bottom:1px solid var(--border);border-right:1px solid var(--border);box-sizing:border-box}.campaign-calendar-corner-date{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.campaign-calendar-time-header{grid-column:2;grid-row:1;position:sticky;top:0;z-index:3;background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:stretch}.campaign-calendar-days{display:flex;height:56px;align-items:stretch}.campaign-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-right:1px solid var(--border);box-sizing:border-box}.campaign-calendar-day.is-weekend{background:#f3f4f6}.campaign-calendar-day.is-today .campaign-calendar-daynum{color:#b91c1c;font-weight:700}.campaign-calendar-weekday{font-size:10px;color:var(--text-muted);line-height:1}.campaign-calendar-daynum{font-size:12px;font-weight:600;line-height:1}.campaign-calendar-labels{grid-column:1;grid-row:2;position:sticky;left:0;z-index:5;background:var(--bg-card);border-right:1px solid var(--border);box-shadow:4px 0 8px #0f172a0f}.campaign-calendar-label{display:flex;align-items:center;gap:8px;width:100%;padding:0 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-primary);font:inherit;font-size:13px;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-calendar-label-count{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bg-muted);color:var(--text-secondary);font-size:11px;font-weight:700;line-height:18px;text-align:center}.campaign-calendar-label:hover{background:var(--bg-muted)}.campaign-calendar-grid{grid-column:2;grid-row:2;position:relative}.campaign-calendar-row{position:relative;display:flex;border-bottom:1px solid var(--border);box-sizing:border-box}.campaign-calendar-cell{flex:0 0 auto;height:100%;border-right:1px solid #f3f4f6;box-sizing:border-box}.campaign-calendar-cell.is-weekend{background:#f3f4f6b3}.campaign-calendar-now{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:1;pointer-events:none}.campaign-calendar-bar{position:absolute;top:12px;height:42px;border:0;border-radius:8px;padding:4px 10px 3px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:2px;color:#fff;font:inherit;font-size:13px;font-weight:600;overflow:hidden;z-index:1;cursor:pointer;box-shadow:var(--shadow-sm)}.campaign-calendar-bar:hover:not(:disabled){filter:brightness(1.05)}.campaign-calendar-bar.is-locked{opacity:.92}.campaign-calendar-bar:disabled{cursor:default;opacity:.92}.campaign-calendar-bar-lock{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;border-radius:999px;background:#1118278c;color:#fff}.campaign-calendar-bar.is-stacked{padding:2px 8px;font-size:12px}.campaign-calendar-bar.is-stacked .campaign-calendar-bar-lock{width:12px;height:12px}.campaign-calendar-label.is-locked,.campaign-calendar-label:disabled{color:var(--text-secondary);cursor:default;opacity:1}.campaign-calendar-bar-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.campaign-calendar-bar-status{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.1;opacity:.92}.campaign-calendar-bar.is-stacked .campaign-calendar-bar-status{font-size:10px}.campaign-calendar-bar.tone-blue{background-color:#5ba3e8}.campaign-calendar-bar.tone-purple{background-color:#8b5cf6}.campaign-calendar-bar.tone-peach{background-color:#e8a090;color:#1f2937}.campaign-calendar-bar.tone-peach .campaign-calendar-bar-lock{background:#111827b3;color:#fff}.campaign-calendar-bar.tone-red{background-color:#ef4444}.campaign-calendar-bar.tone-indigo{background-color:#3b4f9c}.campaign-calendar-bar.tone-orange{background-color:#f59e0b}.campaign-calendar-bar.tone-blue .campaign-calendar-bar-lock,.campaign-calendar-bar.tone-peach .campaign-calendar-bar-lock{background:#111827bf}.campaign-calendar-bar.is-in-window{background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.28) 0 5px,transparent 5px 10px)}.campaign-calendar-bar.tone-peach.is-in-window{background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.35) 0 5px,transparent 5px 10px)}.campaign-form{display:flex;flex-direction:column;gap:16px}.campaign-form .field-label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:14px}.field-hint--warn,.field--invalid label{color:var(--danger-text)}.field--invalid input[type=file]{border-color:var(--danger-text);background:var(--danger-bg)}.field-hint--error{color:var(--danger-text)}.field-bundle-controls{display:flex;align-items:center;gap:12px}.field-bundle-controls input[type=file]{flex:1;min-width:0}.field-bundle-clear{flex-shrink:0;white-space:nowrap}.form-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 640px){.form-row-2{grid-template-columns:1fr}}.campaign-offer-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.campaign-offer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}.campaign-offer-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.campaign-offer-add select{width:100%;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text-primary);padding:10px 12px;font:inherit}.item-picker{display:flex;flex-direction:column;gap:12px}.item-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.item-picker-list.is-reordering{cursor:grabbing}.item-picker-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;position:relative;will-change:transform}.item-picker-row--ghost{height:100%;box-sizing:border-box;border-color:var(--text-primary);box-shadow:0 12px 32px #0f172a2e;cursor:grabbing}.item-picker-drag-ghost{position:fixed;z-index:1200;pointer-events:none}.item-picker-drop-placeholder{border:2px dashed #9ca3af;border-radius:10px;background:#f9fafbe6;box-sizing:border-box;transition:height .18s ease}.item-picker-ghost-remove-spacer{flex-shrink:0;width:74px}.item-picker-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;align-self:stretch;margin:-10px 0 -10px -12px;padding:0 6px 0 10px;border:0;border-right:1px solid var(--border);border-radius:10px 0 0 10px;background:#f9fafb;color:#6b7280;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.item-picker-drag-handle:hover:not([aria-disabled=true]){background:#f3f4f6;color:#374151}.item-picker-drag-handle:active:not([aria-disabled=true]){cursor:grabbing}.item-picker-drag-handle[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.item-picker-drag-icon{display:block;flex-shrink:0}.item-picker-list.is-reordering .item-picker-drag-handle{cursor:grabbing}.item-picker-row-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.item-picker-icon{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--bg-muted, #f3f4f6)}.item-picker-icon--empty{display:inline-block;border:1px dashed var(--border)}.item-picker-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.item-picker-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-picker-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px}.item-picker-qty{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:600;flex-shrink:0}.item-picker-qty input{width:72px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-primary);padding:8px 10px;font:inherit;font-weight:400}.item-picker-controls{display:flex;align-items:flex-start;gap:10px}.item-picker-dropdown{position:relative;flex:1;min-width:0;z-index:1}.item-picker-dropdown.is-open{z-index:40}.item-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-secondary);padding:10px 12px;font:inherit;font-size:14px;text-align:left;cursor:pointer}.item-picker-trigger:disabled{opacity:.6;cursor:not-allowed}.item-picker-dropdown.is-open .item-picker-trigger{border-color:var(--text-primary);color:var(--text-primary)}.item-picker-trigger-caret{color:var(--text-muted);font-size:12px}.item-picker-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 10px 30px #0f172a1f;overflow:hidden}.item-picker-menu-toolbar{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;border-bottom:1px solid var(--border)}.item-picker-menu-toolbar .segments-search-input,.item-picker-menu-toolbar .segments-filter-select{width:100%;min-width:0;flex:none;box-sizing:border-box}.item-picker-options{list-style:none;margin:0;padding:6px;max-height:240px;overflow-y:auto}.item-picker-option{width:100%;display:flex;align-items:center;gap:10px;border:0;border-radius:8px;background:transparent;color:inherit;padding:8px 10px;font:inherit;text-align:left;cursor:pointer}.item-picker-option:hover,.item-picker-option.is-highlighted{background:#f3f4f6}.item-picker-option:disabled{opacity:.5;cursor:not-allowed}.item-picker-menu-empty{margin:0;padding:16px 14px;color:var(--text-secondary);font-size:13px}@media (max-width: 700px){.item-picker-row{flex-wrap:wrap}.item-picker-controls{flex-direction:column;align-items:stretch}}.campaign-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;max-width:100%;min-width:0}@media (max-width: 900px){.campaign-cards-grid{grid-template-columns:1fr}}.campaign-card{display:flex;flex-direction:column;gap:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-sm)}.campaign-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.campaign-card-identity{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-secondary);font-size:13px}.campaign-card-icon{flex-shrink:0}.campaign-card-id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;white-space:nowrap;color:#fff}.campaign-status-pill--active{background:#22c55e}.campaign-status-pill--scheduled{background:#3b82f6}.campaign-status-pill--ended{background:#6b7280}.campaign-status-pill--published{background:#6366f1}.campaign-status-pill--draft{background:#9ca3af}.campaign-status-pill--test{background:#f59e0b}.campaign-status-pill--live{background:#22c55e}.campaign-status-pill--inactive{background:#94a3b8}.campaign-status-pill--deleted{background:#6b7280}.campaign-card-body{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.campaign-card-main{min-width:0;flex:1}.campaign-card-title{margin:0;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.campaign-card-title-button{border:0;background:transparent;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.campaign-card-title-button:hover{text-decoration:underline}.campaign-card-offers{font-weight:600;color:var(--text-secondary)}.campaign-card-meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right;max-width:46%}.campaign-card-availability{margin:0;font-size:13px;font-weight:600;color:var(--text-secondary);line-height:1.35}.campaign-card-provenance{margin:6px 0 0;font-size:12px;font-weight:500;color:var(--text-muted);line-height:1.35}.campaign-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:auto}.campaign-card-link{border:0;background:transparent;color:#2563eb;font:inherit;font-size:14px;font-weight:600;padding:0}.campaign-card-link:hover:not(:disabled){text-decoration:underline}.campaign-card-link:disabled{color:var(--text-muted);opacity:1}.campaign-card-locked-note{margin:0;font-size:13px;color:var(--text-muted)}.campaign-details{display:flex;flex-direction:column;gap:12px}.campaign-details-list{margin:0;display:flex;flex-direction:column;gap:14px}.campaign-details-row{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:8px 16px;align-items:start}.campaign-details-row dt{margin:0;font-size:13px;font-weight:600;color:var(--text-muted)}.campaign-details-row dd{margin:0;font-size:14px;line-height:1.4;word-break:break-word}.campaign-details-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.campaign-details-muted{color:var(--text-muted);font-size:13px}.campaign-details-offers{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:4px}@media (max-width: 640px){.campaign-details-row{grid-template-columns:1fr;gap:2px}}.version-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.version-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.version-history-row:last-child{border-bottom:0}.version-history-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.version-history-version{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px}.version-history-current{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--surface-muted, #f3f4f6);border-radius:4px;padding:2px 6px}.version-history-date{font-size:13px;color:var(--text-secondary)}.audit-log-toolbar .segments-filter-select{flex:0 1 180px}.audit-log-metadata{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:var(--text-secondary)}.audit-log-pagination{display:flex;justify-content:center;margin-top:16px}.offers-name-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.placement-multi-select{display:flex;flex-direction:column;gap:0;margin:0;padding:6px;list-style:none;max-height:240px;overflow-y:auto}.placement-dropdown{position:relative;z-index:1}.placement-dropdown.is-open{z-index:40}.placement-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-secondary);padding:10px 12px;font:inherit;font-size:14px;text-align:left;cursor:pointer}.placement-dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.placement-dropdown.is-open .placement-dropdown-trigger{border-color:var(--text-primary);color:var(--text-primary)}.placement-dropdown-caret{color:var(--text-muted);font-size:12px}.placement-dropdown-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 10px 30px #0f172a1f;overflow:hidden}.placement-description-input{resize:none}.placement-multi-select-option{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;color:inherit;font:inherit}.field label.placement-multi-select-option{display:flex;margin-bottom:0}.placement-multi-select-option:hover{background:var(--surface-muted, #f9fafb)}.placement-multi-select-option input[type=checkbox]{flex-shrink:0;width:auto;margin:0;padding:0}.placement-multi-select-label{display:flex;flex-direction:column;gap:4px}.placement-selected-descriptions{display:flex;flex-direction:column;gap:10px;margin-top:12px}.placement-selected-description{padding:10px 12px;border-radius:8px;background:var(--surface-muted, #f3f4f6)}.placement-selected-description p{margin:6px 0 0;color:var(--text-secondary)}.placement-empty-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#9a3412;background:#ffedd5}.placement-delete-impact{display:flex;flex-direction:column;gap:8px}.placement-delete-impact-list{margin:0;padding-left:20px}
