.page-wide{max-width:1600px}.data-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.data-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.search-icon{flex-shrink:0;color:var(--color-text-muted)}.search-input{flex:1;min-width:0;border:none;background:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text)}.search-input:focus{outline:none}.search-input::placeholder{color:var(--color-text-muted)}.bulk-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-primary-light);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font-size:var(--font-size-sm)}.bulk-bar-count{font-weight:var(--font-weight-bold);color:var(--color-primary-hover)}.data-message{padding:var(--space-6) var(--space-5);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.data-message.error{color:var(--color-danger)}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;font-weight:var(--font-weight-bold);color:var(--color-text);white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover,.data-table tbody tr.is-selected{background:var(--color-bg)}.col-check{width:40px}.col-center{text-align:center}.col-right{text-align:right}.data-table th.col-center{text-align:center}.data-table th.col-right{text-align:right}.col-nowrap{white-space:nowrap}.customer-name{display:block;font-weight:var(--font-weight-bold);color:var(--color-accent)}.customer-name:hover{text-decoration:underline}.customer-domain{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tag-list{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.tag{padding:2px var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.platform-pill{display:inline-block;padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);white-space:nowrap;color:var(--color-text-secondary)}.platform-pill.shopify{background:var(--status-success-bg);border-color:var(--status-success-bg);color:var(--status-success-text)}.platform-pill.magento{background:var(--status-warning-bg);border-color:var(--status-warning-bg);color:var(--status-warning-text)}.app-badges{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.app-badge{display:grid;place-items:center;width:22px;height:22px;border-radius:var(--radius-sm);color:#fff;font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:-.02em;cursor:default}.app-badge-img{background:var(--color-surface);border:1px solid var(--color-border);object-fit:contain}.app-badges-empty{color:var(--color-text-muted)}.status-pill{display:inline-block;padding:2px var(--space-3);border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);white-space:nowrap}.status-pill.installed{background:var(--status-success-bg);color:var(--status-success-text)}.status-pill.uninstalled{background:var(--status-warning-bg);color:var(--status-warning-text)}.subscription-state{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.status-pill.subscribed{background:var(--status-success-bg);color:var(--status-success-text)}.status-pill.unsubscribed{background:var(--color-bg);color:var(--color-text-muted)}.subscription-notice{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border:2px solid var(--color-warning);border-radius:12px;font-size:var(--font-size-sm);background:var(--status-warning-bg);color:var(--status-warning-text)}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.data-pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.back-link{display:inline-block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.back-link:hover{color:var(--color-text)}.detail-section{margin-bottom:var(--space-8)}.detail-section-title{margin-bottom:var(--space-3);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.detail-card,.installation-card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.installation-card+.installation-card{margin-top:var(--space-4)}.installation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.installation-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.installation-id{font-size:var(--font-size-xs);color:var(--color-text-muted)}.app-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.app-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.app-tab:hover{background:var(--color-bg)}.app-tab.is-active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-bold)}.app-tab-icon{width:18px;height:18px;border-radius:var(--radius-sm);flex-shrink:0}.app-tab-icon-img{background:var(--color-surface);border:1px solid var(--color-border);object-fit:contain}.app-tab-flag{padding:0 var(--space-2);border-radius:999px;background:var(--color-bg);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.form-field{min-width:0}.form-field-wide{grid-column:1 / -1}.form-label{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:#000}.form-hint{font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:0}.form-readonly{padding:var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow-wrap:anywhere}.form-field select.field-input,.form-field textarea.field-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm)}.form-field textarea.field-input{resize:vertical}.form-checkbox{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.form-error{margin-right:auto;font-size:var(--font-size-sm);color:var(--color-danger)}.form-dirty{margin-right:auto;font-size:var(--font-size-sm);color:var(--color-accent)}.form-saved{margin-right:auto;font-size:var(--font-size-sm);color:var(--color-success)}.event-badge{display:inline-block;padding:2px var(--space-3);border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);white-space:nowrap;background:var(--color-bg);color:var(--color-text-secondary)}.event-badge.install{background:var(--status-success-bg);color:var(--status-success-text)}.event-badge.uninstall{background:var(--status-warning-bg);color:var(--status-warning-text)}.event-badge.scope_change,.event-badge.email_sent{background:var(--status-info-bg);color:var(--status-info-text)}.event-badge.customer_created,.event-badge.installation_created{background:var(--status-success-bg);color:var(--status-success-text)}.event-badge.customer_updated,.event-badge.installation_updated{background:var(--color-bg);color:var(--color-text-secondary)}.event-badge.unsubscribed{background:var(--status-error-bg);color:var(--status-error-text)}.event-badge.resubscribed{background:var(--status-success-bg);color:var(--status-success-text)}.source-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:1px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:11px;color:var(--color-text-secondary);white-space:nowrap}.source-actor{padding-left:var(--space-2);border-left:1px solid var(--color-border);color:var(--color-text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis}.timeline-changes{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs)}.timeline-changes li{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.timeline-change-field{min-width:140px;color:var(--color-text-secondary)}.timeline-change-from{color:var(--color-text-muted);text-decoration:line-through}.timeline-change-arrow{color:var(--color-text-muted)}.timeline-change-to{color:var(--color-text);font-weight:var(--font-weight-normal)}.timeline-change-note{color:var(--color-text-muted);font-style:italic}.timeline-list{list-style:none;margin:0;padding:var(--space-4) var(--space-5)}.timeline-item{display:flex;gap:var(--space-3);position:relative;padding-bottom:var(--space-4)}.timeline-item:last-child{padding-bottom:0}.timeline-dot{flex-shrink:0;width:8px;height:8px;margin-top:6px;border-radius:999px;background:var(--color-border)}.timeline-item:not(:last-child) .timeline-dot:after{content:"";position:absolute;top:14px;left:3.5px;bottom:0;width:1px;background:var(--color-border)}.timeline-content{flex:1;min-width:0}.timeline-date{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.timeline-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.timeline-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.timeline-group-toggle{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:0;font:inherit;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.timeline-group-toggle:hover{color:var(--color-primary)}.timeline-sublist{list-style:none;margin:var(--space-2) 0 0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.timeline-sublist li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-sm)}.timeline-sub-time{flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.custom-field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4);align-items:start}.custom-field-grid dd{margin:0;font-size:var(--font-size-sm)}.custom-field-choices{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center}.custom-field-inline{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.custom-field-inline-title{margin-bottom:var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.segment-summary{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.segment-actions{display:flex;flex-shrink:0;gap:var(--space-2);align-items:center}.grid-freshness{margin:0;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted)}.sort-header{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:none;background:none;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.sort-header:hover{color:var(--color-text)}.sort-header.is-active{color:var(--color-accent)}.sort-arrow{font-size:var(--font-size-xs);opacity:.45}.sort-header.is-active .sort-arrow,.sort-header:hover .sort-arrow{opacity:1}.data-toolbar .btn-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;min-width:32px;padding:0;border-radius:var(--radius-md)}.data-toolbar .btn-icon.is-active{border-color:var(--color-accent);color:var(--color-accent)}.column-picker{position:relative}.column-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:9;display:flex;flex-direction:column;width:320px;max-height:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.column-panel-head{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.column-panel-list{flex:1;overflow-y:auto;padding:var(--space-2) 0}.column-group+.column-group{margin-top:var(--space-2)}.column-group-title{position:sticky;top:0;margin:0;padding:var(--space-2) var(--space-3);background:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.column-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.column-option:hover{background:var(--color-bg)}.column-option input{flex-shrink:0}.column-panel-empty{margin:0;padding:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted)}.column-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border)}.customer-filters{position:relative;margin-bottom:var(--space-3)}.customer-filters .filter-chips{align-items:center;margin-bottom:0}.filter-pop{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:9;display:flex;flex-direction:column;width:260px;max-height:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.filter-pop-wide{width:320px;max-height:420px}.filter-chip-wrap:last-of-type .filter-pop{left:auto;right:0}.filter-pop-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.filter-pop-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.filter-pop-close{flex-shrink:0;padding:0;border:none;background:none;font-size:var(--font-size-base);line-height:1;color:var(--color-text-muted);cursor:pointer}.filter-pop-close:hover{color:var(--color-text)}.filter-pop-body{padding:var(--space-3);overflow-y:auto}.filter-pop-list{flex:1;overflow-y:auto;padding:var(--space-1) 0}.filter-pop-foot{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border)}.link-action.danger{color:var(--color-danger, #c0392b)}.filter-options{display:flex;flex-direction:column;gap:var(--space-1);max-height:260px;overflow-y:auto}.filter-option{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.filter-option input{flex-shrink:0}.filter-row{display:flex;flex-direction:column;gap:var(--space-2)}.filter-range{display:flex;align-items:center;gap:var(--space-2)}.filter-range .field-input{flex:1;min-width:0}.filter-range-sep{flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.filter-hint,.filter-empty{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.filter-empty{padding:var(--space-3)}.filter-group-title{position:sticky;top:0;margin:0;padding:var(--space-2) var(--space-3);background:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.filter-field{display:block;width:100%;padding:var(--space-1) var(--space-3);border:none;background:none;font:inherit;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer}.filter-field:hover{background:var(--color-bg)}.country-cell{white-space:nowrap}.page-header-actions{display:flex;gap:var(--space-2);align-items:center;flex-shrink:0}.import-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s}.import-drop:hover,.import-drop:focus-visible{border-color:var(--color-primary);color:var(--color-primary)}.import-drop.is-dragging{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.import-drop.is-busy{pointer-events:none;opacity:.6}.import-drop-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.import-drop-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.import-status{display:flex;flex-direction:column;gap:var(--space-2)}.import-status-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.import-phase{font-weight:var(--font-weight-bold);color:var(--color-text)}.import-file{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-bar{height:8px;border-radius:999px;background:var(--color-border);overflow:hidden}.import-bar-fill{height:100%;background:var(--color-primary);border-radius:inherit;transition:width .3s ease}.import-bar.is-indeterminate .import-bar-fill{width:35%;animation:import-slide 1.1s ease-in-out infinite}@keyframes import-slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media(prefers-reduced-motion:reduce){.import-bar.is-indeterminate .import-bar-fill{animation:none;width:100%;opacity:.4}}.import-counter{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.import-summary{width:100%;margin-top:var(--space-4);border-collapse:collapse;font-size:var(--font-size-sm)}.import-summary td{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.import-summary td:first-child{color:var(--color-text-muted)}.import-summary td:last-child{text-align:right;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.import-errors{margin-top:var(--space-4)}.import-errors ul{margin:var(--space-2) 0 0;padding-left:var(--space-4);max-height:180px;overflow-y:auto;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.import-errors li{padding:2px 0}.import-hint{margin-right:auto;font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-group{border:0;margin:0;padding:0}.form-group+.form-group{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.form-group-title{float:left;width:100%;margin:0 0 var(--space-3);padding:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.form-group-title+.form-grid{clear:both}.star-rating{display:flex;align-items:center;gap:var(--space-2);min-height:38px}.star-row{display:inline-flex;gap:2px}button.star{border:0;background:none;padding:0;cursor:pointer;line-height:1}.star{font-size:20px;color:var(--color-border);transition:color .12s}.star.is-on,.star-row:hover button.star{color:#f5a623}.star-row button.star:hover~button.star{color:var(--color-border)}button.star:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.star-value{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.star-rating.is-readonly{padding:var(--space-2) 0}.usage-block{margin-bottom:var(--space-4)}.usage-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.usage-block-range{display:flex;align-items:center;gap:var(--space-2)}.usage-range-select{width:auto;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.usage-stat-axis{display:flex;justify-content:space-between;gap:var(--space-2);margin-top:2px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.usage-block-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5)}.usage-stat{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.usage-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.2}.sparkline{width:100%;height:44px;margin-top:var(--space-2);overflow:visible}.sparkline-baseline{stroke:var(--color-border);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.sparkline-line{fill:none;stroke:var(--color-primary);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.sparkline-dot{fill:var(--color-primary)}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header-row .page-header{margin-bottom:0}.btn.btn-dark{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.btn.btn-dark:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-text-inverse)}.btn.btn-dark:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active);color:var(--color-text-inverse)}.btn.btn-dark:disabled{background:var(--status-neutral-bg);border-color:var(--status-neutral-bg);color:var(--color-text-muted)}.btn.btn-danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.btn.btn-danger:hover:not(:disabled){background:var(--status-error-bg);border-color:var(--color-danger-hover);color:var(--color-danger-hover)}.btn.btn-danger:active:not(:disabled){background:var(--status-error-bg);border-color:var(--color-danger-hover);color:var(--color-danger-hover)}.btn-compact{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);white-space:nowrap}.card-header-row .summary-value .btn{white-space:nowrap}.btn-compact.is-open{border-color:var(--color-primary);color:var(--color-primary)}.status-pill.draft{background:var(--status-info-bg);color:var(--status-info-text)}.status-pill.sent{background:var(--status-success-bg);color:var(--status-success-text)}.status-pill.archived{background:var(--color-bg);color:var(--color-text-muted)}.status-pill.scheduled,.status-pill.active{background:var(--status-warning-bg);color:var(--status-warning-text)}.queue-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.queue-toolbar .app-tabs{margin-bottom:0}.queue-spacer{flex:1}.queue-summary{margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.queue-state{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);white-space:nowrap}.queue-state.is-due{background:var(--status-info-bg);color:var(--status-info-text)}.queue-state.is-running{background:var(--status-warning-bg);color:var(--status-warning-text)}.queue-state.is-waiting{background:var(--color-bg);color:var(--color-text-secondary)}.queue-muted{color:var(--color-text-muted)}.log-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1)}.btn-tiny{padding:2px var(--space-2);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.log-preview{width:100%;height:420px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.queue-attempts.is-danger{color:var(--color-danger);font-weight:var(--font-weight-bold)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.filter-chip-wrap{position:relative}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:transparent;border:1px dashed var(--color-border);border-radius:999px;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.filter-chip:hover{border-color:var(--color-text-muted);color:var(--color-text)}.filter-chip.is-active{border-style:solid;border-color:var(--color-accent);background:var(--color-surface);color:var(--color-accent);font-weight:var(--font-weight-normal)}.filter-chip-remove{display:grid;place-items:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:none;color:inherit;font-size:var(--font-size-sm);line-height:1;cursor:pointer}.filter-chip-remove:hover{background:var(--color-bg)}.email-thumb{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);overflow:hidden}.email-cell{display:flex;align-items:center;gap:var(--space-3)}.email-name{font-weight:var(--font-weight-bold);color:var(--color-accent)}.email-name:hover{text-decoration:underline}.send-criteria{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.radio-option+.radio-option{margin-top:var(--space-3)}.radio-option-label{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.radio-option-label input{margin-top:3px;flex-shrink:0}.radio-option-desc{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.radio-option-body{margin:var(--space-3) 0 var(--space-2) var(--space-6);padding-left:var(--space-4);border-left:2px solid var(--color-border)}.card-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.condition-row{display:grid;grid-template-columns:minmax(0,1.4fr) 140px minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.condition-connector{display:flex;padding:var(--space-2) 0}.condition-join{padding:2px var(--space-3);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);cursor:pointer}.condition-join:hover,.condition-join.is-or{border-color:var(--color-primary);color:var(--color-primary)}.condition-group{padding-left:var(--space-3);border-left:2px solid var(--color-border)}.condition-group .condition-connector{padding-left:0}.condition-box{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.condition-box-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.condition-box-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.condition-box .field-input,.condition-box .tree-select-trigger{background:var(--color-surface)}.condition-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.tree-select{position:relative;min-width:0}.tree-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:32px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer}.tree-select-trigger:hover{border-color:var(--color-text-secondary)}.tree-select-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.tree-select-value{display:flex;flex:0 1 auto;flex-direction:column;align-items:flex-start;min-width:0;overflow:hidden}.tree-select-value>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-select-path{font-size:var(--font-size-xs);line-height:1.3;color:var(--color-text-secondary)}.tree-select-placeholder{color:var(--color-text-secondary)}.tree-select-caret{flex:none;color:var(--color-text-secondary)}.tree-select-panel{position:fixed;z-index:1000;display:flex;flex-direction:column;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 4px 20px #0000002e}.tree-select-search{flex:none;margin-bottom:var(--space-2)}.tree-select-list{flex:1;min-height:0;overflow-y:auto}.tree-select-empty{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tree-select-header{padding:var(--space-2) var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.tree-select-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.tree-select-count{margin-left:auto;font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.tree-select-option{display:block;width:100%;padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer}.tree-select-option.is-cursor{background:var(--aws-grey-100)}.tree-select-option.is-selected{background:var(--aws-blue-10);font-weight:var(--font-weight-bold)}.tree-depth-1{padding-left:var(--space-4)}.tree-depth-2{padding-left:var(--space-8)}.tree-depth-3{padding-left:var(--space-12)}.condition-remove{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.condition-remove:hover{background:var(--color-bg);color:var(--color-danger)}@media(max-width:720px){.condition-row{grid-template-columns:1fr}}.email-detail-layout{display:grid;grid-template-columns:380px 1fr;gap:var(--space-6);align-items:start}.email-detail-layout>*{min-width:0}@media(max-width:1024px){.email-detail-layout{grid-template-columns:1fr}}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.detail-topbar-title{display:flex;align-items:center;gap:var(--space-3)}.detail-topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.summary-card+.summary-card{margin-top:var(--space-4)}.summary-row+.summary-row{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.summary-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.summary-value{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text)}.summary-sub{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.info-box{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--status-info-bg);border:2px solid var(--color-primary);border-radius:12px;font-size:var(--font-size-sm);color:var(--status-info-text);margin-bottom:var(--space-4)}.info-box:last-child{margin-bottom:0}.info-box .info-icon{flex:none;margin-top:1px;color:inherit;cursor:inherit}.detail-field-row{display:grid;grid-template-columns:96px 1fr;gap:var(--space-3);align-items:center;margin-bottom:var(--space-2)}.detail-field-row>.form-label{margin-bottom:0}.detail-field-row .field-input,.detail-field-row .app-tab{padding-top:var(--space-1);padding-bottom:var(--space-1)}.editor-shell{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.editor-btn{display:grid;place-items:center;min-width:28px;height:28px;padding:0 var(--space-2);background:none;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.editor-btn:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.editor-btn[aria-pressed=true]{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-hover)}.editor-btn:disabled{opacity:.4;cursor:not-allowed}.editor-sep{width:1px;height:18px;margin:0 var(--space-1);background:var(--color-border)}.editor-select{height:28px;padding:0 var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text)}.editor-surface .ProseMirror{min-height:320px;padding:var(--space-4);background:var(--color-surface);color:var(--color-text);outline:none;font-size:var(--font-size-sm);line-height:1.7}.editor-surface .ProseMirror>*+*{margin-top:var(--space-3)}.editor-surface .ProseMirror h1{font-size:var(--font-size-2xl)}.editor-surface .ProseMirror h2{font-size:var(--font-size-xl)}.editor-surface .ProseMirror h3{font-size:var(--font-size-lg)}.editor-surface .ProseMirror ul,.editor-surface .ProseMirror ol{padding-left:var(--space-6)}.editor-surface .ProseMirror blockquote{padding-left:var(--space-4);border-left:3px solid var(--color-border);color:var(--color-text-secondary)}.editor-surface .ProseMirror hr{border:none;border-top:1px solid var(--color-border)}.editor-surface .ProseMirror a{color:var(--color-primary);text-decoration:underline}.code-editor .cm-editor{font-size:var(--font-size-xs)}.code-editor .cm-editor.cm-focused{outline:none}.code-editor .cm-scroller{font-family:var(--font-family-mono);line-height:1.6}.code-editor .cm-gutters{background:var(--color-bg);border-right:1px solid var(--color-border);color:var(--color-text-muted)}.code-editor .cm-activeLine,.code-editor .cm-activeLineGutter{background:#006ce012}.editor-empty{display:grid;place-items:center;gap:var(--space-2);min-height:280px;padding:var(--space-8);text-align:center}.editor-empty h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.editor-empty p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.variable-picker{position:relative;display:inline-block}.variable-popup{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:20;width:340px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);text-align:left}.variable-popup-hint{margin-bottom:var(--space-2)}.variable-popup-warnings{margin-bottom:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--status-warning-bg);color:var(--status-warning-text);font-size:var(--font-size-xs);line-height:1.5}.variable-popup-warnings p+p{margin-top:var(--space-1)}.variable-group+.variable-group{margin-top:var(--space-3)}.variable-group-title{margin-bottom:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.variable-list{max-height:320px;overflow-y:auto}.variable-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);background:none;font:inherit;text-align:left;cursor:pointer}.variable-item:hover{background:var(--color-bg)}.variable-item code{flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-primary)}.variable-label{flex:1;min-width:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variable-copied{flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-success)}.send-status-processed{margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text)}.send-status-bar-track{height:8px;margin-top:var(--space-2);border-radius:999px;background:var(--color-bg);overflow:hidden}.send-status-bar{height:100%;border-radius:999px;background:var(--color-success);transition:width .3s}.send-status-percent{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.send-status-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3) var(--space-2);margin-top:var(--space-3)}.send-status-stat{display:flex;flex-direction:column-reverse;align-items:flex-start}.send-status-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.send-status-value.ok{color:var(--color-success)}.send-status-value.bad{color:var(--color-danger)}.send-status-value.warn{color:var(--color-accent)}.send-status-stat dt{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.send-status-started{margin-top:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted)}.engagement-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4) var(--space-3);margin-bottom:var(--space-3)}.engagement-stat dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.engagement-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.engagement-value.ok{color:var(--color-success)}.engagement-value.bad{color:var(--color-danger)}.engagement-rate{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.delivery-filters{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-3)}.delivery-filters .field-input{padding-top:var(--space-1);padding-bottom:var(--space-1);font-size:var(--font-size-sm)}.delivery-list{list-style:none}.delivery-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.delivery-item:first-child{border-top:none}.delivery-icon{flex-shrink:0;margin-top:2px;color:var(--color-text-muted)}.delivery-body{flex:1;min-width:0;display:flex;flex-direction:column}.delivery-email{font-size:var(--font-size-sm);color:var(--color-text);overflow-wrap:anywhere}.delivery-when{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.delivery-error{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-danger)}.delivery-reason{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.delivery-page-indicator{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0 var(--space-1)}.delivery-engagement{flex-shrink:0;align-self:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.delivery-pill{flex-shrink:0;padding:2px var(--space-2);border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);white-space:nowrap}.delivery-pill.sent{background:var(--status-neutral-bg);color:var(--status-neutral-text)}.delivery-pill.delivered{background:var(--status-success-bg);color:var(--status-success-text)}.delivery-pill.pending{background:var(--status-info-bg);color:var(--status-info-text)}.delivery-pill.bounced,.delivery-pill.complained,.delivery-pill.skipped{background:var(--status-warning-bg);color:var(--status-warning-text)}.delivery-pill.failed{background:var(--status-error-bg);color:var(--status-error-text)}.modal-lg{max-width:900px}.modal-xl{max-width:1100px}.preview-meta{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.preview-meta-row{display:grid;grid-template-columns:72px 1fr;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text)}.preview-meta-row+.preview-meta-row{margin-top:var(--space-2)}.preview-meta-row>span:first-child{color:var(--color-text-muted)}.preview-stage{display:flex;justify-content:center;padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.preview-frame{height:460px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:width var(--transition-base)}.html-preview-shell{cursor:pointer}.html-preview-shell .preview-frame{display:block;width:100%;border:none;border-radius:0;transition:none}.count-badge{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.banner{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--color-warning);border-radius:12px;font-size:var(--font-size-sm);background:var(--status-warning-bg);color:var(--status-warning-text)}.engagement-value-btn{background:none;border:none;padding:0;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s}.engagement-value-btn:hover{text-decoration-color:currentColor}.engagement-details-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-3)}.link-performance-list{display:flex;flex-direction:column;gap:var(--space-4)}.link-performance-row{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.link-performance-row:last-child{border-bottom:none}.link-performance-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2)}.link-performance-info{display:flex;flex-direction:column;min-width:0}.link-performance-url{font-size:var(--font-size-sm);color:var(--color-text);overflow-wrap:anywhere}.link-performance-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.link-performance-counts{flex-shrink:0;text-align:right}.link-performance-counts strong{display:block;font-size:var(--font-size-lg);color:var(--color-text)}.link-performance-unique{font-size:var(--font-size-xs);color:var(--color-text-muted)}.link-performance-bar-track{height:6px;border-radius:999px;background:var(--color-bg);overflow:hidden;margin-bottom:var(--space-2)}.link-performance-bar{height:100%;border-radius:999px;background:var(--color-primary)}.link-recipients-list{margin-top:var(--space-2);padding-left:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.timeline-legend{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:999px;margin-left:var(--space-3)}.legend-dot:first-child{margin-left:0}.legend-dot.opens{background:var(--color-primary)}.legend-dot.clicks{background:var(--color-success)}.timeline-chart{display:flex;align-items:flex-end;gap:2px;height:140px;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.timeline-col{flex:1;min-width:3px;height:100%;display:flex;align-items:flex-end}.timeline-bars{display:flex;align-items:flex-end;gap:1px;width:100%;height:100%}.timeline-bar{flex:1;min-height:2px;border-radius:1px 1px 0 0}.timeline-bar.opens{background:var(--color-primary)}.timeline-bar.clicks{background:var(--color-success)}.timeline-footer{display:flex;gap:var(--space-6);margin-top:var(--space-4)}.timeline-footer-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:2px}.timeline-footer strong{font-size:var(--font-size-base);color:var(--color-text)}.device-group{margin-bottom:var(--space-5)}.device-group:last-child{margin-bottom:0}.device-group-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-2)}.device-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) 0}.device-name{width:110px;flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-text)}.device-bar-track{flex:1;height:6px;border-radius:999px;background:var(--color-bg);overflow:hidden}.device-bar{height:100%;border-radius:999px;background:var(--color-primary)}.device-percent{width:42px;flex-shrink:0;text-align:right;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.settings-section{display:grid;grid-template-columns:280px 1fr;gap:var(--space-8);align-items:start}.settings-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-1)}.settings-section-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.platform-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.platform-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4)}.platform-logo{display:flex;align-items:center;gap:var(--space-2)}.platform-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.005em;color:var(--color-text)}.link-action{border:none;background:none;padding:0;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-primary);cursor:pointer;text-decoration:none}.link-action:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.link-action:active:not(:disabled){color:var(--color-primary-active)}.link-action:disabled{color:var(--color-text-muted);cursor:not-allowed}.platform-message{padding:var(--space-4) var(--space-5) var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.platform-message.error{color:var(--color-danger)}.connection-list{list-style:none}.connection-item{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.connection-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.connection-apps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.app-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.app-chip-icon{display:grid;place-items:center;width:18px;height:18px;padding:0;border:none;border-radius:var(--radius-sm);background:none;font-size:var(--font-size-xs);line-height:1;cursor:pointer}.app-chip-icon:hover{background:var(--color-border)}.app-chip-icon img{width:18px;height:18px;object-fit:contain;border-radius:3px}.app-chip-name{font-weight:var(--font-weight-bold);color:var(--color-text)}.app-chip-listing{color:inherit;text-decoration:none}.app-chip-listing:hover{text-decoration:underline}.app-chip-id{color:var(--color-text-muted)}.app-chip-remove{display:grid;place-items:center;width:18px;height:18px;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1;cursor:pointer}.app-chip-remove:hover{background:var(--color-border);color:var(--color-danger)}.connection-item+.connection-item{border-top:1px solid var(--color-border)}.connection-info{display:flex;flex-direction:column;min-width:0}.connection-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.connection-id{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:4px 20px;background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-button);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:20px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.btn:active:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary-active);color:var(--color-primary-active)}.btn:disabled{background:transparent;border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-text-inverse)}.btn-primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active);color:var(--color-text-inverse)}.btn-primary:disabled{background:var(--status-neutral-bg);border-color:var(--status-neutral-bg);color:var(--color-text-muted)}.split-button{position:relative;display:inline-flex;flex-shrink:0}.btn-split-main{border-radius:var(--radius-button) 0 0 var(--radius-button)}.btn-split-caret{padding:4px 10px;border-radius:0 var(--radius-button) var(--radius-button) 0;border-left:1px solid var(--color-primary)}.dropdown{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:10;min-width:160px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);text-align:left;color:var(--color-text);cursor:pointer}.dropdown-item:hover{background:var(--color-bg)}.dropdown-item.danger{color:var(--color-danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#00000080}.modal{width:100%;max-width:620px;max-height:calc(100vh - var(--space-8));overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-sm{max-width:440px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.modal-close{display:grid;place-items:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer}.modal-close:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);flex-wrap:wrap}.modal-error{flex:1 1 100%;order:-1;min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-danger)}.field{min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.field-label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text)}.info-icon{display:inline-flex;color:var(--color-text-muted);cursor:help}.field-input{width:100%;padding:4px var(--space-2);min-height:32px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);line-height:20px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field-input::placeholder{color:var(--color-text-muted)}.field-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.field-input:disabled{background:var(--status-neutral-bg);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.field-hint{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.field-input-group{display:flex;align-items:stretch}.field-input-group .field-input{border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none}.field-input-addon{display:grid;place-items:center;flex-shrink:0;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-secondary);cursor:pointer}.field-input-addon:hover{background:var(--color-bg);color:var(--color-text)}@media(max-width:768px){.settings-section{grid-template-columns:1fr;gap:var(--space-4)}.field-row{grid-template-columns:1fr}}.role-pill{display:inline-block;padding:2px var(--space-3);border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.role-pill.role-owner{background:var(--status-info-bg);color:var(--status-info-text)}.role-pill.role-admin,.role-pill.role-editor,.role-pill.role-viewer{background:var(--status-neutral-bg);color:var(--status-neutral-text)}.account-identity{display:flex;align-items:center;gap:var(--space-4)}.account-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.account-avatar-fallback{display:grid;place-items:center;background:var(--color-bg);color:var(--color-text-secondary);font-size:22px;font-weight:var(--font-weight-bold)}.account-name{font-weight:var(--font-weight-bold);color:var(--color-text)}.account-email{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.account-role{display:flex;align-items:center;gap:var(--space-2)}.permission-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-1) var(--space-3)}.permission-list code{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.user-cell{display:flex;align-items:center;gap:var(--space-3)}.user-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;object-fit:cover}.user-avatar-fallback{display:grid;place-items:center;background:var(--color-bg);color:var(--color-text-secondary);font-size:12px;font-weight:var(--font-weight-bold)}.user-actions{display:inline-flex;gap:var(--space-2);justify-content:flex-end}.status-pill.pending{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-pill.active{background:var(--status-success-bg);color:var(--status-success-text)}.status-pill.disabled{background:var(--status-error-bg);color:var(--status-error-text)}.permission-matrix .matrix-group-row td{padding-top:var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-bg)}.matrix-permission{display:block;color:var(--color-text)}.matrix-code{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-mono);font-size:11px;color:var(--color-text-muted)}.matrix-yes{color:var(--color-success);font-weight:var(--font-weight-bold)}.matrix-no{color:var(--color-text-muted)}.permission-matrix .matrix-mine{background:color-mix(in srgb,var(--color-bg) 70%,transparent)}.scope-tag{padding:0 5px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:10px;color:var(--color-text-secondary)}.scope-row td{background:var(--color-bg)}.scope-editor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-2)}.scope-editor-title{margin:0;font-weight:var(--font-weight-bold);color:var(--color-text)}.scope-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-2) var(--space-4)}.scope-app-id{margin-left:var(--space-2);font-family:var(--font-family-mono);font-size:11px;color:var(--color-text-muted)}.scope-editor>.btn{align-self:flex-start}.role-list{list-style:none;margin:0;padding:0}.role-item+.role-item{border-top:1px solid var(--color-border)}.role-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.role-toggle{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;padding:0;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.role-caret{display:inline-block;color:var(--color-text-muted);transition:transform .15s}.role-caret.open{transform:rotate(90deg)}.role-name{font-weight:var(--font-weight-bold);color:var(--color-text)}.role-meta{flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.role-actions{display:flex;align-items:center;gap:var(--space-3)}.role-body{padding:0 var(--space-4) var(--space-5) var(--space-6);border-top:1px dashed var(--color-border)}.role-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin:var(--space-4) 0}.perm-group-head{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.perm-group-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.perm-code{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-family-mono);font-size:11px;color:var(--color-text-muted)}.role-create{display:flex;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-border)}.role-create .field-input{flex:1}.icon-drop{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.icon-drop.dragging{border-color:var(--color-primary);border-style:solid}.icon-drop-preview{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:24px;line-height:1;overflow:hidden}.icon-drop-preview img{width:100%;height:100%;object-fit:contain}.icon-drop-text{min-width:0}.icon-drop-title{margin:0 0 var(--space-1);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-text)}.icon-drop-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn.btn-quiet-danger{margin-right:auto;border-color:transparent;background:none;color:var(--color-danger)}.btn.btn-quiet-danger:hover:not(:disabled){background:var(--color-bg)}.apikey-topbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.apikey-topbar .page-title{margin:0}.icon-btn-danger{display:inline-grid;place-items:center;width:30px;height:30px;border:none;border-radius:var(--radius-md);background:var(--color-danger);color:var(--color-text-inverse);cursor:pointer;transition:background var(--transition-fast)}.icon-btn-danger:hover{background:var(--color-danger-hover)}.apikey-card{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6)}.field-input.is-readonly{background:var(--color-bg);color:var(--color-text-secondary)}.apikey-meta{display:flex;flex-wrap:wrap;gap:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.apikey-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.apikey-actions .btn-danger{margin-right:auto}.apikey-code{margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:1.6;overflow-x:auto;white-space:pre}.app-event{padding:var(--space-4) var(--space-5)}.app-event+.app-event{border-top:1px solid var(--color-border)}.app-event-head{display:flex;align-items:center;gap:var(--space-3)}.app-event-icon{flex:none;font-size:var(--font-size-base);line-height:1}.app-event-title{font-weight:var(--font-weight-bold);color:var(--color-text)}.app-event-time{margin-left:auto;flex:none;font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.app-event-facts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-8);margin:var(--space-3) 0 0 calc(var(--font-size-base) + var(--space-3))}.app-event-fact{min-width:0}.app-event-fact dt{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.app-event-fact dd{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow-wrap:anywhere}.app-event-note{margin:var(--space-2) 0 0 calc(var(--font-size-base) + var(--space-3));font-size:var(--font-size-sm);color:var(--color-text-secondary)}.app-setting-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.app-setting-row .field-input{flex:0 1 220px}.usage-editor{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--space-5);align-items:start}.usage-editor-form{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.usage-editor-preview{position:sticky;top:var(--space-5)}@media(max-width:1100px){.usage-editor{grid-template-columns:1fr}.usage-editor-preview{position:static}}.usage-filter-row{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr) 24px;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.usage-preview-row{padding:var(--space-3) 0;border-top:1px solid var(--color-border);font-size:var(--font-size-xs)}.usage-preview-head{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.usage-preview-time{color:var(--color-text-muted);white-space:nowrap}.usage-preview-prop{color:var(--color-text-secondary);word-break:break-word}.usage-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.usage-toolbar .field-input{width:auto;min-width:180px}.usage-toolbar-spacer{flex:1}.test-event-results{max-height:240px;overflow-y:auto;margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.test-event-option{display:flex;flex-direction:column;gap:1px;width:100%;padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--color-border);background:none;font-family:inherit;text-align:left;cursor:pointer}.test-event-option:last-child{border-bottom:none}.test-event-option:hover{background:var(--color-bg)}.test-event-option.selected{background:var(--status-info-bg)}.test-event-option-domain{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.usage-preview-more{margin-top:var(--space-1);font-size:var(--font-size-xs)}.usage-preview-count{margin-top:var(--space-2)}.usage-preview-pagination{padding-left:0;padding-right:0;justify-content:space-between}.usage-customer{display:flex;flex-direction:column;gap:1px;line-height:1.35}.usage-customer-domain{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.usage-props{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.usage-props>div{display:flex;gap:var(--space-2)}.usage-props dt{color:var(--color-text-muted);min-width:110px}.usage-props dd{color:var(--color-text);word-break:break-all}.code-inline{display:inline;padding:1px 4px;border-radius:var(--radius-sm);background:var(--color-bg);font-family:var(--font-family-mono);font-size:.92em;color:var(--color-text-secondary);word-break:break-word}.usage-editor .data-card,.usage-editor-preview .data-card{padding:var(--space-5)}.usage-editor .data-card>.field+.field,.usage-editor .data-card>.form-checkbox{margin-top:var(--space-4)}.usage-editor .data-card .detail-section-title{margin-bottom:var(--space-1)}.usage-editor .data-card>.field-hint{margin-bottom:var(--space-4)}.usage-editor .custom-field-choices{gap:var(--space-3) var(--space-5)}.usage-editor .custom-field-choices.usage-periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.usage-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.usage-header-actions .btn.btn-quiet-danger{margin-right:0}.usage-editor-error,.usage-editor-preview .field-hint{margin-bottom:var(--space-4)}.usage-editor-preview .field{margin-bottom:var(--space-3)}.page-note{margin-bottom:var(--space-4);font-size:var(--font-size-sm);line-height:1.55;color:var(--color-text-secondary)}.review-stars{color:var(--color-text);letter-spacing:1px;white-space:nowrap}.review-stars-empty{color:var(--color-border)}.review-content{max-width:48ch;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.review-match-btn{font-size:var(--font-size-xs);text-align:left}.tx-interval{margin-left:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tx-negative{color:var(--color-danger)}.plan-cell{display:flex;align-items:flex-start;gap:var(--space-2)}.plan-cell .app-badge{flex-shrink:0;margin-top:1px}.plan-amount{display:flex;flex-direction:column;gap:1px;line-height:1.35}.plan-interval{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sub-date-void{text-decoration:line-through;color:var(--color-text-muted)}.status-pill.flow-draft{background:var(--status-info-bg);color:var(--status-info-text)}.status-pill.flow-active{background:var(--status-success-bg);color:var(--status-success-text)}.status-pill.flow-archived{background:var(--color-bg);color:var(--color-text-muted)}.status-pill.flow-resource{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.flow-name-cell{display:inline-flex;align-items:center;gap:var(--space-2)}.flow-name{color:var(--color-accent);font-weight:var(--font-weight-bold)}.flow-name:hover{text-decoration:underline}.flow-resource-icon{flex-shrink:0;color:var(--color-text-muted)}.page.page-canvas{max-width:none;display:flex;flex-direction:column;margin:calc(var(--space-8) * -1);height:100vh}.page-canvas>*:not(.flow-canvas){flex:none}.page-canvas .flow-editor-bar{margin:0;padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.page-canvas>.banner,.page-canvas>.info-box{margin:var(--space-3) var(--space-5)}.flow-canvas{flex:1;min-height:0;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg);background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:16px 16px}.page-canvas .flow-canvas{cursor:grab;border:0;border-radius:0;scrollbar-width:none;-ms-overflow-style:none}.page-canvas .flow-canvas::-webkit-scrollbar{width:0;height:0}.page-canvas .flow-canvas.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}@media(max-width:768px){.page.page-canvas{height:70vh;margin:calc(var(--space-5) * -1) calc(var(--space-4) * -1)}}.flow-canvas.is-empty{display:grid;place-items:center;min-height:240px}.flow-canvas-stage{position:relative}.flow-canvas-origin{position:absolute}.flow-edges{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.flow-edge{fill:none;stroke:var(--color-accent);stroke-width:1.5}.flow-node-slot{position:absolute;z-index:1}.flow-node{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.flow-node-head{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.flow-node-trigger{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:0;border:none;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}.flow-node-trigger:disabled{cursor:default}.flow-node-trigger:not(:disabled):hover .flow-node-title{color:var(--color-accent)}.flow-node-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.flow-node-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);overflow-wrap:anywhere}.flow-node-warn{align-self:flex-start;margin-top:2px;padding:0 var(--space-2);border-radius:999px;background:var(--status-warning-bg);color:var(--status-warning-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.flow-node-sub{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.flow-node-ports{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);margin-top:-2px}.flow-port{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--space-2);border:none;border-radius:999px;background:var(--color-accent);color:var(--color-text-inverse);font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1;cursor:pointer}.flow-port:hover{background:var(--color-primary-hover)}.flow-node-actions{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.flow-node-stats{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.flow-stat-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.flow-stat-list strong{font-weight:var(--font-weight-bold);color:var(--color-text);font-variant-numeric:tabular-nums}.flow-action-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.flow-action{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text);min-width:0}.flow-action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-add-action{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;padding:0;border:none;background:none;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-accent);cursor:pointer}.flow-add-action:hover{text-decoration:underline}.flow-node-delete{width:28px;height:28px;display:grid;place-items:center;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);line-height:1;cursor:pointer;visibility:hidden;opacity:0;transition:opacity var(--transition-fast)}.flow-node:hover .flow-node-delete,.flow-node:focus-within .flow-node-delete,.flow-node-delete:focus-visible{visibility:visible;opacity:1}.flow-node-delete:hover{background:var(--color-bg);color:var(--color-danger)}.flow-editor-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.flow-editor-spacer{flex:1}.flow-name-input{width:auto;min-width:200px;font-weight:var(--font-weight-bold)}.action-type-list,.email-picker-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1);max-height:360px;overflow-y:auto}.action-type{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}.action-type:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border)}.action-type:disabled{opacity:.5;cursor:not-allowed}.action-type-body{flex:1;min-width:0;display:flex;flex-direction:column}.action-type-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.action-type-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.email-picker-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--color-border)}.email-picker-item:last-child{border-bottom:none}.email-picker-name{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trigger-delay-row{display:grid;grid-template-columns:1fr 140px;gap:var(--space-2)}.run-sub{margin-top:2px;font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow-wrap:anywhere}.flow-danger-row{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.flow-counts{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.flow-count{display:inline-flex;align-items:center;gap:var(--space-1)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:var(--color-bg)}.login-loading{color:var(--color-text-secondary)}.login-card{width:100%;max-width:420px;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);text-align:center}.login-logo{display:block;margin:0 auto var(--space-4);object-fit:contain}.login-title{margin:0 0 var(--space-2);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.login-sub{margin:0 0 var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.login-identity{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text)}.google-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border-input);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.google-btn:hover{background:var(--color-bg)}.login-actions{display:flex;gap:var(--space-3);justify-content:center}.login-error{margin:var(--space-4) 0 0;color:var(--color-danger);font-size:var(--font-size-sm)}.login-dev{margin-top:var(--space-6);padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);text-align:left;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.login-dev p{margin:var(--space-2) 0 0}.login-dev code{padding:1px 4px;border-radius:var(--radius-sm);background:var(--color-surface);font-family:var(--font-family-mono)}.login-dev-note{color:var(--color-text-muted)}.app-shell{min-height:100vh;display:flex}.sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-4);background-color:var(--color-surface);border-right:1px solid var(--color-border);position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:0}.sidebar-brand-logo{height:38px;width:auto;flex-shrink:0;object-fit:contain}.sidebar-brand-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:0;white-space:nowrap;text-align:center}.sidebar-nav{flex:1}.nav-list,.nav-sublist{list-style:none}.nav-list>li+li{margin-top:2px}.nav-row{display:flex;align-items:center;gap:var(--space-1)}.nav-link{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:6px var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);transition:background var(--transition-fast),color var(--transition-fast)}.nav-link:hover{background:var(--color-bg);color:var(--color-text)}.nav-link.active{background:transparent;color:var(--color-primary);font-weight:var(--font-weight-bold)}.nav-link.active:hover{background:var(--color-bg);color:var(--color-primary)}.nav-icon{font-size:var(--font-size-base);line-height:1;flex-shrink:0}.nav-icon-img{display:block;width:1.15em;height:1.15em;object-fit:contain;border-radius:3px}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-toggle{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.nav-toggle:hover{background:var(--color-bg);color:var(--color-text)}.nav-toggle.open{transform:rotate(180deg)}.nav-section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.nav-section-title{padding:0 var(--space-3);margin-bottom:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.nav-group+.nav-group{margin-top:var(--space-3)}.nav-group-title{padding:0 var(--space-3);margin-bottom:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group .nav-link{padding-left:var(--space-5)}.nav-link-button{width:100%;border:none;background:none;font-family:inherit;text-align:left;cursor:pointer}.nav-caret{display:inline-flex;align-items:center;margin-left:auto;color:var(--color-text-muted);transition:transform var(--transition-fast)}.nav-caret.open{transform:rotate(180deg)}.nav-sublink.nav-subgroup{display:flex;align-items:center;width:100%;border:none;background:none;font-family:inherit;text-align:left;cursor:pointer}.nav-sublink.nav-subgroup.open .nav-caret{transform:rotate(180deg)}.nav-subsublist{list-style:none;padding-left:var(--space-4)}.nav-sublist{margin:2px 0 var(--space-1) var(--space-5);padding-left:var(--space-5);border-left:1px solid var(--color-border)}.nav-sublink{display:block;padding:5px var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:background var(--transition-fast),color var(--transition-fast)}.nav-sublink:hover{background:var(--color-bg);color:var(--color-text)}.nav-sublink.active{color:var(--color-primary);font-weight:var(--font-weight-bold)}.app-main{flex:1;min-width:0;padding:var(--space-8)}.page{max-width:1280px;margin:0 auto}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);letter-spacing:-.005em;color:var(--color-text)}.page-subtitle{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.toast-host{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(420px,calc(100vw - var(--space-8)));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);color:var(--color-text);pointer-events:auto;animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.toast-icon{display:grid;place-items:center;flex-shrink:0;width:18px;height:18px;margin-top:1px;border-radius:50%;font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-text-inverse)}.toast-success .toast-icon{background:var(--color-success)}.toast-error .toast-icon{background:var(--color-danger)}.toast-info .toast-icon{background:var(--color-secondary)}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-info{border-left:3px solid var(--color-secondary)}.toast-message{flex:1;min-width:0;overflow-wrap:anywhere}.toast-close{flex-shrink:0;padding:0 var(--space-1);border:none;background:none;color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1;cursor:pointer}.toast-close:hover{color:var(--color-text)}@media(max-width:768px){.app-shell{flex-direction:column}.toast-host{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);max-width:none}.sidebar{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--color-border)}.app-main{padding:var(--space-5) var(--space-4)}}.sidebar-user{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding:var(--space-3);border-top:1px solid var(--color-border)}.sidebar-user-link{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;padding:var(--space-2);border-radius:var(--radius-md);color:inherit;text-decoration:none}.sidebar-user-link:hover,.sidebar-user-link.active{background:var(--color-bg)}.sidebar-avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;object-fit:cover}.sidebar-avatar-fallback{display:grid;place-items:center;background:var(--color-bg);color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-weight-bold)}.sidebar-user-info{display:flex;flex-direction:column;min-width:0;line-height:1.25}.sidebar-user-name,.sidebar-user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.sidebar-user-role{font-size:var(--font-size-xs);color:var(--color-text-muted)}.sidebar-logout{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.sidebar-logout:hover{background:var(--color-bg);color:var(--color-text)}:root{--aws-blue-60: #006ce0;--aws-blue-80: #00417a;--aws-blue-90: #002b66;--aws-blue-10: #f0fbff;--aws-grey-900: #0f141a;--aws-grey-650: #424650;--aws-grey-550: #656871;--aws-grey-500: #8c8c94;--aws-grey-400: #c6c6cd;--aws-grey-200: #e9ebed;--aws-grey-100: #f2f3f3;--color-primary: var(--aws-blue-60);--color-primary-hover: var(--aws-blue-80);--color-primary-active: var(--aws-blue-90);--color-primary-light: var(--aws-blue-10);--color-secondary: var(--aws-blue-60);--color-accent: var(--aws-blue-60);--color-success: #00802f;--color-warning: #855900;--color-danger: #db0000;--color-danger-hover: #a30000;--color-bg: var(--aws-grey-100);--color-surface: #ffffff;--color-border: var(--aws-grey-400);--color-border-input: var(--aws-grey-500);--color-text: #000000;--color-text-secondary: var(--aws-grey-650);--color-text-muted: var(--aws-grey-550);--color-text-inverse: #ffffff;--status-success-bg: #d7f2e0;--status-success-text: #00612a;--status-info-bg: #d3e7fd;--status-info-text: var(--aws-blue-80);--status-warning-bg: #fbeeca;--status-warning-text: #6b4700;--status-error-bg: #fdd8d8;--status-error-text: #8c0000;--status-neutral-bg: var(--aws-grey-200);--status-neutral-text: var(--aws-grey-650);--font-family: "Amazon Ember", "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif;--font-family-mono: "Amazon Ember Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-bold: 700;--line-height-body: 1.4286;--line-height-heading: 1.25;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 16px;--radius-button: 20px;--shadow-sm: 0 1px 1px 0 rgb(0 7 22 / .08);--shadow-md: 0 1px 8px 2px rgb(0 7 22 / .12);--shadow-lg: 0 4px 20px 1px rgb(0 7 22 / .1);--transition-fast: 90ms ease-out;--transition-base: 135ms ease-out}@media(prefers-color-scheme:dark){:root{--color-primary: #42b4ff;--color-primary-hover: #75cfff;--color-primary-active: #b8e7ff;--color-primary-light: #192534;--color-secondary: #42b4ff;--color-accent: #42b4ff;--color-success: #29ad32;--color-warning: #e0ca57;--color-danger: #eb6f6f;--color-danger-hover: #ff9f9f;--color-bg: #0f141a;--color-surface: #161d26;--color-border: #424650;--color-border-input: #656871;--color-text: #d1d5db;--color-text-secondary: #b4b4bb;--color-text-muted: #8c8c94;--color-text-inverse: #000716;--status-success-bg: #172211;--status-success-text: #29ad32;--status-info-bg: #192534;--status-info-text: #42b4ff;--status-warning-bg: #26200c;--status-warning-text: #e0ca57;--status-error-bg: #1f1717;--status-error-text: #eb6f6f;--status-neutral-bg: #232b37;--status-neutral-text: #b4b4bb;--shadow-sm: 0 1px 1px 0 rgb(0 0 0 / .4);--shadow-md: 0 1px 8px 2px rgb(0 0 0 / .5);--shadow-lg: 0 4px 20px 1px rgb(0 0 0 / .5)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text);background-color:var(--color-bg);line-height:var(--line-height-body)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-text)}h1{font-size:var(--font-size-2xl);letter-spacing:-.005em}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}h5,h6{font-size:var(--font-size-sm)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:active{color:var(--color-primary-active)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}code,kbd,pre,samp{font-family:var(--font-family-mono)}img{max-width:100%;height:auto}::selection{background:var(--color-primary-light);color:var(--color-text)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
