.stacklar-editor { outline: 0; padding: 0; border-radius: 0; } .stacklar-field-editor { background: transparent; border: 0; padding: 0; border-radius: 0; box-shadow: none; } .stacklar-field-preview > label, .stacklar-field-preview > .stacklar-field-preview-label { display: block; margin-bottom: 6px; color: #111111; font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.25; } .stacklar-editor-label-animated .stacklar-field-preview:not(.stacklar-inline) > .stacklar-field-preview-label, .stacklar-editor-label-animated .stacklar-field-preview:not(.stacklar-inline) > label { transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease, top 0.2s ease, left 0.2s ease; transform-origin: left center; } .stacklar-editor-label-animation-lift .stacklar-field-preview:not(.stacklar-inline):focus-within > .stacklar-field-preview-label, .stacklar-editor-label-animation-lift .stacklar-field-preview:not(.stacklar-inline):focus-within > label { color: var(--stacklar-input-border-color, #111111); transform: translateY(-3px); } .stacklar-editor-label-animation-shrink .stacklar-field-preview:not(.stacklar-inline):focus-within > .stacklar-field-preview-label, .stacklar-editor-label-animation-shrink .stacklar-field-preview:not(.stacklar-inline):focus-within > label { color: var(--stacklar-input-border-color, #111111); transform: scale(0.94); } .stacklar-editor-label-animation-fade .stacklar-field-preview:not(.stacklar-inline) > .stacklar-field-preview-label, .stacklar-editor-label-animation-fade .stacklar-field-preview:not(.stacklar-inline) > label { opacity: 0.72; } .stacklar-editor-label-animation-fade .stacklar-field-preview:not(.stacklar-inline):focus-within > .stacklar-field-preview-label, .stacklar-editor-label-animation-fade .stacklar-field-preview:not(.stacklar-inline):focus-within > label { color: var(--stacklar-input-border-color, #111111); opacity: 1; } .stacklar-editor-label-animation-slide .stacklar-field-preview:not(.stacklar-inline):focus-within > .stacklar-field-preview-label, .stacklar-editor-label-animation-slide .stacklar-field-preview:not(.stacklar-inline):focus-within > label { color: var(--stacklar-input-border-color, #111111); transform: translateX(6px); } .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline), .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) { position: relative; } .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) > .stacklar-field-preview-label, .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) > label, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) > .stacklar-field-preview-label, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) > label { background: #ffffff; left: 12px; margin-bottom: 0; max-width: calc(100% - 24px); overflow: hidden; padding: 0 4px; pointer-events: none; position: absolute; text-overflow: ellipsis; top: 19px; transform: translateY(-50%); white-space: nowrap; z-index: 2; } .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) .stacklar-input-wrap input, .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) .stacklar-input-wrap textarea, .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) .stacklar-input-wrap select, .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) .stacklar__input-wrap input, .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) .stacklar__input-wrap textarea, .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline) .stacklar__input-wrap select, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) .stacklar-input-wrap input, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) .stacklar-input-wrap textarea, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) .stacklar-input-wrap select, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) .stacklar__input-wrap input, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) .stacklar__input-wrap textarea, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline) .stacklar__input-wrap select { padding-bottom: 6px; padding-top: 20px; } .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline):focus-within > .stacklar-field-preview-label, .stacklar-editor-label-animation-float .stacklar-field-preview:not(.stacklar-inline):focus-within > label, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline):focus-within > .stacklar-field-preview-label, .stacklar-editor-label-animation-border-cutout .stacklar-field-preview:not(.stacklar-inline):focus-within > label { color: var(--stacklar-input-border-color, #111111); font-weight: 600; top: 0; transform: translateY(-50%) scale(0.78); } .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap input, .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap select, .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap textarea, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap input, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap select, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap textarea { background: #ffffff; border-width: var(--stacklar-input-border-width, 1px); border-style: var(--stacklar-input-border-style, solid); border-color: var(--stacklar-input-border-color, #cbd5e1); border-radius: var(--stacklar-input-border-radius, 6px); box-shadow: none; color: #111111; font-family: inherit; font-size: 16px; line-height: 1.2; margin: 0; padding: 8px 12px; } .editor-styles-wrapper .stacklar-submit { appearance: none; align-items: center; box-shadow: none; box-sizing: border-box; display: inline-block; font-family: inherit; font-size: 16px; font-weight: 400; line-height: 1.2; margin: 0; text-align: center; text-decoration: none; } .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap input:focus, .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap input:focus-visible, .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap select:focus, .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap select:focus-visible, .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap textarea:focus, .editor-styles-wrapper .stacklar-field-editor .stacklar-input-wrap textarea:focus-visible, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap input:focus, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap input:focus-visible, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap select:focus, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap select:focus-visible, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap textarea:focus, .editor-styles-wrapper .stacklar-field-editor .stacklar__input-wrap textarea:focus-visible { border-color: var(--stacklar-input-border-color, #cbd5e1); box-shadow: none; outline: none; } .editor-styles-wrapper .block-editor-block-list__layout:has(.stacklar-field-editor, .stacklar-editor) .block-list-appender .block-editor-default-block-appender__content { display: none; } .editor-styles-wrapper .block-editor-block-list__layout:has(.stacklar-field-editor, .stacklar-editor) .block-list-appender { margin-top: 0; margin-bottom: 0; min-height: 0; } .stacklar-logic-manager { min-height: 100%; background: #f8fafc; color: #0f172a; } .stacklar-logic-manager__intro { padding: 16px; border-bottom: 1px solid #e2e8f0; background: #ffffff; } .stacklar-logic-manager__intro h2 { margin: 0 0 6px; font-size: 18px; line-height: 1.25; } .stacklar-logic-manager__intro p { margin: 0; color: #475569; font-size: 13px; line-height: 1.45; } .stacklar-logic-manager__stats { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; } .stacklar-logic-manager__stats span { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border: 1px solid #dbe3ea; border-radius: 999px; background: #f8fafc; color: #334155; font-size: 12px; font-weight: 600; line-height: 1; } .stacklar-logic-manager__stats span.has-warning { border-color: #f8c78b; background: #fff7ed; color: #9a3412; } .stacklar-logic-manager__toolbar { display: grid; gap: 12px; padding: 14px 16px; border-bottom: 1px solid #e2e8f0; background: #ffffff; } .stacklar-logic-manager__list { display: grid; gap: 12px; padding: 14px 16px 20px; } .stacklar-logic-manager-card { border: 1px solid #dbe3ea; border-radius: 8px; background: #ffffff; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); padding: 12px; } .stacklar-logic-manager-card.has-warning { border-color: #f8c78b; box-shadow: 0 0 0 1px rgba(248, 199, 139, 0.28); } .stacklar-logic-manager-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; } .stacklar-logic-manager-card__top h3 { margin: 5px 0 3px; font-size: 14px; line-height: 1.3; } .stacklar-logic-manager-card code { display: inline-block; max-width: 220px; overflow: hidden; color: #475569; font-size: 11px; text-overflow: ellipsis; vertical-align: top; white-space: nowrap; } .stacklar-logic-manager-card__badge, .stacklar-logic-manager-card__status { display: inline-flex; align-items: center; min-height: 20px; padding: 2px 7px; border-radius: 999px; background: #e0f2fe; color: #075985; font-size: 11px; font-weight: 700; line-height: 1; } .stacklar-logic-manager-card__badge--action { background: #eef2ff; color: #3730a3; } .stacklar-logic-manager-card__status { background: #f1f5f9; color: #475569; } .stacklar-logic-manager-card .components-notice { margin: 10px 0; } .stacklar-logic-manager-card__warning-list, .stacklar-logic-manager-condition__warnings { margin: 0; padding-left: 16px; } .stacklar-logic-manager-card__warning-list li, .stacklar-logic-manager-condition__warnings li { margin: 0 0 4px; } .stacklar-logic-manager__logic { margin: 10px 0; } .stacklar-logic-manager-condition { display: grid; gap: 10px; margin: 10px 0; padding: 10px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; } .stacklar-logic-manager-condition.has-warning { border-color: #fed7aa; background: #fff7ed; } .stacklar-logic-manager-condition__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .stacklar-logic-manager-condition__header strong { font-size: 12px; } .stacklar-logic-manager-condition__warnings { color: #9a3412; font-size: 12px; line-height: 1.4; } .stacklar-popup-style-sidebar { .components-panel__body { border-top: 0; border-bottom: 1px solid #e2e8f0; } } .stacklar-popup-style-sidebar__inner { display: flex; flex-direction: column; min-height: 100%; background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); } .stacklar-popup-style-sidebar__intro { margin: 0; padding: 16px; border-bottom: 1px solid #e2e8f0; background: radial-gradient(circle at top right, rgba(17, 17, 17, 0.10), transparent 45%), linear-gradient(135deg, rgba(15, 23, 42, 0.02), rgba(17, 17, 17, 0.08)); color: #334155; font-size: 13px; line-height: 1.5; } .stacklar-popup-preview__toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; } .stacklar-popup-preview__meta, .stacklar-popup-preview__hint { margin: 0 0 12px; font-size: 12px; color: #475569; line-height: 1.5; } .stacklar-popup-preview { --stacklar-preview-dialog-width: min(320px, 100%); --stacklar-preview-dialog-max-height: 75%; position: relative; min-height: 280px; border: 1px solid #dbe3ea; border-radius: 18px; overflow: hidden; background: linear-gradient(180deg, #f5f5f5 0%, #ffffff 100%); } .stacklar-popup-preview--fullscreen { --stacklar-preview-dialog-width: min(720px, calc(100vw - 160px)); --stacklar-preview-dialog-max-height: calc(100vh - 240px); min-height: min(760px, calc(100vh - 220px)); height: 100%; border-radius: 24px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35); } .stacklar-popup-preview--canvas { --stacklar-preview-dialog-width: min(720px, calc(100% - 80px)); --stacklar-preview-dialog-max-height: calc(100% - 88px); min-height: 100%; height: 100%; border: 0; border-radius: 0; overflow: visible; background: transparent; } .stacklar-popup-preview__page { position: absolute; inset: 0; padding: 18px; background: radial-gradient(circle at top right, rgba(17, 17, 17, 0.08), transparent 38%), linear-gradient(160deg, #f8fafc 0%, #ebebeb 48%, #f8fafc 100%); } .stacklar-popup-preview__page-chip { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: rgba(17, 17, 17, 0.08); color: #111111; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; } .stacklar-popup-preview__mode { position: absolute; top: 18px; right: 18px; display: inline-flex; align-items: center; padding: 4px 10px; border: 1px solid rgba(148, 163, 184, 0.24); border-radius: 999px; background: rgba(15, 23, 42, 0.05); color: #334155; font-size: 11px; font-weight: 600; line-height: 1; } .stacklar-popup-preview.is-pass-through .stacklar-popup-preview__mode { border-color: rgba(17, 17, 17, 0.24); background: rgba(17, 17, 17, 0.08); color: #111111; } .stacklar-popup-preview__page-line { height: 10px; border-radius: 999px; background: rgba(148, 163, 184, 0.32); margin-top: 12px; } .stacklar-popup-preview__page-line--lg { width: 72%; height: 14px; } .stacklar-popup-preview__page-line--md { width: 48%; } .stacklar-popup-preview__page-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; } .stacklar-popup-preview__page-card { min-height: 96px; border-radius: 14px; background: rgba(255, 255, 255, 0.72); border: 1px solid rgba(203, 213, 225, 0.92); box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08); } .stacklar-popup-preview__canvas-chrome { position: absolute; inset: 18px 18px auto; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; pointer-events: none; } .stacklar-popup-preview__modal { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 18px; pointer-events: none; } .stacklar-popup-preview__overlay { position: absolute; inset: 0; opacity: 0; --stacklar-preview-overlay-opacity: 0.62; transition: opacity 280ms ease; } .stacklar-popup-preview__dialog { position: relative; z-index: 1; width: var(--stacklar-preview-dialog-width); max-height: var(--stacklar-preview-dialog-max-height); overflow: auto; background: #fff; border-radius: 14px; box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22); padding: 20px 18px 18px; opacity: 0; transform: translateY(24px); transition: opacity 280ms ease, transform 280ms ease; } .stacklar-popup-preview__modal.is-open .stacklar-popup-preview__overlay { opacity: var(--stacklar-preview-overlay-opacity, 0.62); } .stacklar-popup-preview__modal.is-open .stacklar-popup-preview__dialog { opacity: 1; transform: none; } .stacklar-popup-preview__modal:not(.is-open)[data-preview-closed-effect='none'] .stacklar-popup-preview__dialog, .stacklar-popup-preview__modal:not(.is-open)[data-preview-closed-effect='fade'] .stacklar-popup-preview__dialog { transform: none; } .stacklar-popup-preview__modal:not(.is-open)[data-preview-closed-effect='zoom'] .stacklar-popup-preview__dialog { transform: scale(0.92); } .stacklar-popup-preview__modal:not(.is-open)[data-preview-closed-effect='slide_up'] .stacklar-popup-preview__dialog { transform: translateY(24px); } .stacklar-popup-preview__modal:not(.is-open)[data-preview-closed-effect='slide_down'] .stacklar-popup-preview__dialog { transform: translateY(-24px); } .stacklar-popup-preview__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #111111; margin-bottom: 10px; } .stacklar-popup-preview__title { margin: 0 0 10px; font-size: 22px; line-height: 1.15; color: #0f172a; } .stacklar-popup-preview__content { margin-top: 8px; } .stacklar-popup-preview__content--empty { padding: 16px; border: 1px dashed #cbd5e1; border-radius: 14px; background: #f8fafc; color: #475569; font-size: 13px; line-height: 1.6; } .stacklar-popup-preview__content--rendered > :first-child { margin-top: 0; } .stacklar-popup-preview__content--rendered > :last-child { margin-bottom: 0; } .stacklar-popup-preview__status { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: #475569; font-size: 12px; line-height: 1.5; } .stacklar-popup-preview__status .components-spinner { margin: 0; } .stacklar-popup-preview__status--warning { color: #b45309; } .stacklar-popup-preview__content .block-editor-block-preview__live-content, .stacklar-popup-preview__content .block-editor-block-list__layout { margin: 0; } .stacklar-popup-preview__content .block-editor-block-preview__live-content { background: transparent; } .stacklar-popup-preview__content .block-editor-block-preview__live-content > :first-child, .stacklar-popup-preview__content .block-editor-block-list__layout > :first-child { margin-top: 0; } .stacklar-popup-preview__content .block-editor-block-preview__live-content > :last-child, .stacklar-popup-preview__content .block-editor-block-list__layout > :last-child { margin-bottom: 0; } .stacklar-popup-preview__content .block-editor-block-preview__content-iframe, .stacklar-popup-preview__content iframe { width: 100%; border: 0; background: transparent; } .stacklar-popup-preview__content .wp-block, .stacklar-popup-preview__content [data-block], .stacklar-popup-preview__content .block-editor-block-list__block { max-width: 100%; } .stacklar-popup-canvas-preview { position: fixed; z-index: 10000; pointer-events: none; overflow: hidden; } @media (max-width: 960px) { .stacklar-popup-preview--fullscreen { --stacklar-preview-dialog-width: min(92vw, 720px); --stacklar-preview-dialog-max-height: calc(100vh - 220px); min-height: calc(100vh - 180px); } .stacklar-popup-preview--canvas { --stacklar-preview-dialog-width: min(92vw, calc(100% - 32px)); --stacklar-preview-dialog-max-height: calc(100% - 64px); } .stacklar-popup-preview__canvas-chrome { inset: 12px 12px auto; } } .stacklar-style-section { border: 1px solid #e2e8f0; border-radius: 0; overflow: hidden; margin-bottom: 12px; background: #fff; padding: 0; .components-panel__body-title { margin: 0; padding: 12px 16px; background: #f8fafc; border-radius: 0; box-shadow: inset 0 -1px 0 #e2e8f0; color: #0f172a; transition: none !important; &:focus-within { background: #f8fafc !important; box-shadow: inset 0 -1px 0 #e2e8f0 !important; } button { padding: 0; text-transform: uppercase; font-size: 11px; letter-spacing: 0.08em; font-weight: 600; color: inherit; background: transparent; border-radius: 0; transition: none !important; &:focus { box-shadow: none !important; outline: none !important; } &:hover { color: inherit !important; background: transparent !important; box-shadow: none !important; } &:active, &:focus { color: inherit !important; background: transparent !important; box-shadow: none !important; } svg { fill: currentColor; } } } &.is-open { .components-panel__body-title { border-bottom-color: #d6d6d6; background: #ededed; box-shadow: inset 0 -1px 0 #d6d6d6; &:hover { background: #ededed !important; border-bottom-color: #d6d6d6 !important; box-shadow: inset 0 -1px 0 #d6d6d6 !important; } } } .components-panel__body-content { padding: 16px; background: #fff; } .stacklar-style-stack { display: flex; flex-direction: column; gap: 12px; } } .stacklar-style-tabs { margin-top: 14px; } .stacklar-style-tabs .components-tab-panel__tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; margin: 0 0 16px; border: 1px solid #dbe3ef; border-radius: 8px; background: #f1f5f9; } .stacklar-style-tabs .components-tab-panel__tabs-item { justify-content: center; min-height: 32px; height: 32px; padding: 0 10px; border-radius: 5px; color: #475569; font-size: 12px; font-weight: 600; box-shadow: none !important; } .stacklar-style-tabs .components-tab-panel__tabs-item:hover { color: #0f172a; background: rgba(255, 255, 255, 0.72); } .stacklar-style-tabs .components-tab-panel__tabs-item.is-active { color: #fff; background: #0f172a; } .stacklar-style-tabs .components-tab-panel__tab-content { padding-top: 2px; } .stacklar-style-tabs .stacklar-normal-tab, .stacklar-style-tabs .stacklar-hover-tab, .stacklar-style-tabs .stacklar-message-tab { display: flex; flex-direction: column; gap: 12px; } .stacklar-style-section--label { .components-panel__body-title { color: #111111; } } .stacklar-style-control { display: flex; flex-direction: column; gap: 6px; &__label { font-size: 12px; font-weight: 600; color: #475569; text-transform: uppercase; letter-spacing: 0.02em; } &__color-row { display: flex; align-items: center; gap: 8px; } &__color-row .stacklar-style-color-dropdown { flex: 1; } &--unit .components-base-control__field, &--unit .components-input-control, &--unit .components-unit-control-wrapper, &--unit .components-unit-control { width: 100%; } &--color .components-color-palette__item-wrapper { border-radius: 999px; padding: 2px; } &--color .stacklar-style-color-toggle { padding: 4px 6px; min-height: 28px; } &--color .stacklar-style-color-indicator { width: 20px; height: 20px; border-radius: 999px; border: 1px solid #cbd5e1; } &--color .stacklar-style-color-value { margin-left: 8px; font-size: 12px; color: #334155; font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; } &--color .stacklar-style-color-toggle.is-empty .stacklar-style-color-indicator { background-image: linear-gradient(45deg, #e2e8f0 25%, transparent 25%), linear-gradient(-45deg, #e2e8f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e2e8f0 75%), linear-gradient(-45deg, transparent 75%, #e2e8f0 75%); background-position: 0 0, 0 4px, 4px -4px, -4px 0; background-size: 8px 8px; background-color: #ffffff; } } .stacklar-style-color-popover { padding: 8px; width: 240px; } .stacklar-style-color-clear { padding-left: 0 !important; } .stacklar-field-token-hint { display: flex; align-items: center; gap: 8px; background: #f8fafc; border: 1px solid #e2e8f0; padding: 5px; } .stacklar-field-token-hint__token { font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-size: 11px; color: #000; border-radius: 4px; } .stacklar-field-token-hint__status { margin-top: 8px; font-size: 12px; color: #047857; } .stacklar-terms-wrapper { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; } .stacklar-terms-taxonomy { border: 1px solid #e2e8f0; border-radius: 6px; background: #f8fafc; padding: 10px 12px; } .stacklar-terms-taxonomy__title { font-weight: 600; font-size: 13px; color: #0f172a; margin-bottom: 6px; } .stacklar-terms-taxonomy__list { display: flex; flex-direction: column; gap: 4px; } .stacklar-terms-taxonomy__empty, .stacklar-terms-empty { font-size: 12px; color: #64748b; } .stacklar-meta-map-row { border: 1px solid #e2e8f0; border-radius: 6px; padding: 12px; background: #f8fafc; margin-bottom: 12px; .components-base-control, .components-input-control { width: 100%; } .components-flex { width: 100%; flex-direction: column; gap: 12px; } .components-flex-item { width: 100%; } } .stacklar-intl-error { display: block; margin-top: 4px; font-size: 12px; color: #dc2626; } .stacklar-intl-invalid { border-color: #dc2626 !important; box-shadow: 0 0 0 1px rgba(220,38,38,0.2); } .stacklar-meta-map-empty { font-size: 12px; color: #64748b; } .stacklar-logic-control { margin: 12px 0; } .stacklar-logic-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid #dbe3ef; border-radius: 8px; background: #f1f5f9; } .stacklar-logic-toggle__button.components-button { justify-content: center; min-height: 30px; border-radius: 5px; color: #475569; font-weight: 600; box-shadow: none; } .stacklar-logic-toggle__button.components-button:hover { color: #0f172a; } .stacklar-logic-toggle__button.components-button.is-active { background: #0f172a; color: #fff; } .stacklar-condition-list { margin-top: 12px; } .stacklar-condition-card { padding: 12px; margin-bottom: 12px; border: 1px solid #dbe3ef; border-radius: 8px; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05); } .stacklar-condition-card__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; } .stacklar-condition-card__title { color: #0f172a; font-size: 12px; font-weight: 700; letter-spacing: 0; } .stacklar-condition-card__remove.components-button { height: 28px; min-height: 28px; padding: 0 6px; } .stacklar-condition-card__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; } .stacklar-condition-card__grid .components-base-control, .stacklar-condition-card__grid .components-input-control { width: 100%; } .stacklar-condition-card__value { grid-column: 1 / -1; } .stacklar-condition-actions { margin-top: 12px; } .stacklar-terms-dropdown { margin-top: 8px; } .stacklar-terms-dropdown__menu { min-width: 220px; max-height: 240px; overflow-y: auto; padding: 6px 0; } .stacklar-parent-warning { margin-top: 12px; padding: 10px 12px; border: 1px dashed #d97706; border-radius: 6px; background: #fff7ed; color: #92400e; font-size: 13px; line-height: 1.4; } .stacklar-action-settings__license { margin: 0; padding: 12px 14px; background: #fff8e5; border: 1px dashed #f0ad4e; border-radius: 8px; color: #7a4b00; font-size: 13px; font-weight: 600; } .stacklar-action-settings-panel--locked .components-panel__body-title { opacity: 0.7; } .stacklar-submit-settings-panel, .stacklar-action-settings-panel { > .components-base-control, > .components-toggle-control, > .components-range-control, > .components-input-control, > .components-panel__row, > .stacklar-email-template-select, > .stacklar-action-settings__conditions, > .stacklar-action-settings__description, > .stacklar-action-settings__empty, > .stacklar-action-settings__hint, > .stacklar-action-settings__license, > .stacklar-actions-panel__field-list, > .stacklar-actions-panel__intro, > .stacklar-actions-panel__notice, > .stacklar-actions-panel__section-title, > .stacklar-actions-panel__selected, > p { margin-top: 0; margin-bottom: 14px; } > .components-base-control:last-child, > .components-toggle-control:last-child, > .components-range-control:last-child, > .components-input-control:last-child, > .components-panel__row:last-child, > .stacklar-email-template-select:last-child, > .stacklar-action-settings__conditions:last-child, > .stacklar-action-settings__description:last-child, > .stacklar-action-settings__empty:last-child, > .stacklar-action-settings__hint:last-child, > .stacklar-action-settings__license:last-child, > .stacklar-actions-panel__field-list:last-child, > .stacklar-actions-panel__intro:last-child, > .stacklar-actions-panel__notice:last-child, > .stacklar-actions-panel__section-title:last-child, > .stacklar-actions-panel__selected:last-child, > p:last-child { margin-bottom: 0; } } .stacklar-actions-panel { &__intro { margin: 0 0 12px; font-size: 12px; color: #64748b; } &__notice { margin: 0 0 12px; padding: 10px 12px; border: 1px dashed #f0ad4e; background: #fff8e5; border-radius: 8px; color: #7a4b00; font-size: 12px; line-height: 1.4; } &__section-title { margin: 16px 0 6px; font-size: 13px; font-weight: 600; color: #0f172a; } &__selected { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; } &__selected--empty { padding: 12px; border: 1px dashed #cbd5e1; border-radius: 8px; background: #f8fafc; } &__empty { font-size: 12px; color: #64748b; } &__dropdown { width: 100%; } &__dropdown-toggle.components-button { width: 100%; justify-content: space-between; align-items: center; border-radius: 12px; padding: 10px 14px; background: #ffffff; border: 1px solid #e2e8f0; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08); color: #0f172a; gap: 12px; text-decoration: none; } &__dropdown-toggle.components-button:hover, &__dropdown-toggle.components-button:focus, &__dropdown-toggle.components-button.is-open { border-color: #111111; box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.15); color: #0f172a; background: #fff; } &__dropdown-main { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.3; gap: 2px; } &__dropdown-label { font-size: 13px; font-weight: 600; color: #0f172a; } &__dropdown-caret { font-size: 15px; color: #475569; transition: transform 0.18s ease; } &__dropdown-caret.is-open { transform: rotate(180deg); } &__menu { padding: 4px; min-width: 260px; max-height: 300px; overflow-y: auto; border-radius: 12px; border: 1px solid #e2e8f0; box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16); background: #ffffff; } &__menu .components-menu-item__button { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 14px; border-radius: 8px; margin: 2px 2px 4px; } &__menu .components-menu-item__button:hover { background: #f1f5f9; } &__menu .components-menu-item.is-selected .components-menu-item__button { background: #ededed; color: #111111; } &__menu .components-menu-item.is-disabled .components-menu-item__button { color: #b91c1c; } } .stacklar-actions-chip.components-button { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 4px 12px; background: #ededed; border-color: #111111; color: #111111; font-size: 12px; font-weight: 500; height: auto; line-height: 1.4; } .stacklar-actions-chip.components-button:hover { background: #d6d6d6; color: #000000; } .stacklar-actions-chip .dashicons { margin-left: 4px; } .stacklar-actions-menu__item { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: inherit; flex: 1; } .stacklar-actions-menu__badge { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 2px 6px; border-radius: 999px; background: #fee2e2; color: #b91c1c; } .stacklar-actions-panel__menu .components-menu-item.is-selected .stacklar-actions-menu__badge { background: #111111; color: #ffffff; } .stacklar-actions-panel__menu .components-menu-item.is-disabled .stacklar-actions-menu__badge { background: #fee2e2; color: #b91c1c; } .stacklar-locked-block { position: relative; } .stacklar-locked-block__overlay { position: absolute; inset: 0; background: rgba(247, 248, 250, 0.92); border: 1px dashed #F0AD4E; z-index: 5; display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center; pointer-events: all; } .stacklar-locked-block__content { max-width: 280px; font-size: 14px; font-weight: 600; color: #8a5b00; line-height: 1.4; } .stacklar-email-template-editor__context { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; } .stacklar-email-template-editor__context .components-base-control { flex: 1 1 320px; min-width: 260px; } .stacklar-email-template-editor .stacklar-email-template-designer { margin-top: 0; } .stacklar-email-template-designer-control { border: 1px solid #e2e8f0; border-radius: 10px; background: #ffffff; padding: 16px; margin-top: 12px; display: flex; flex-direction: column; gap: 12px; } .stacklar-email-template-designer-control__heading { display: flex; flex-direction: column; gap: 4px; } .stacklar-email-template-designer-control__title { margin: 0; font-size: 15px; font-weight: 600; color: #0f172a; } .stacklar-email-template-designer-control__description { margin: 0; font-size: 13px; color: #475569; } .stacklar-email-template-designer-control__toolbar { display: flex; gap: 8px; flex-wrap: wrap; } .stacklar-email-template-designer-control__tokens { margin: 0; font-size: 12px; color: #111111; background: #ededed; border: 1px solid #cfcfcf; border-radius: 6px; padding: 8px 10px; } .stacklar-email-template-designer-modal.components-modal__frame { width: min(920px, 95vw); max-width: none; } .stacklar-email-template-designer-modal__body { padding: 0 24px 24px; display: flex; flex-direction: column; gap: 20px; } .stacklar-email-template-designer-modal__actions { display: flex; justify-content: flex-end; } .stacklar-email-template-designer-modal__actions > .components-button + .components-button { margin-left: 8px; } .stacklar-locked-block .components-panel, .stacklar-locked-block .components-base-control, .stacklar-locked-block .block-editor-block-inspector { pointer-events: none; opacity: 0.6; } .stacklar-email-template-designer { border: 1px solid #e2e8f0; border-radius: 10px; background: #ffffff; padding: 16px; margin-top: 12px; display: flex; flex-direction: column; gap: 16px; } .stacklar-email-template-designer__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .stacklar-email-template-designer__headings { display: flex; flex-direction: column; gap: 4px; } .stacklar-email-template-designer__title { margin: 0; font-size: 16px; font-weight: 600; color: #0f172a; } .stacklar-email-template-designer__help { margin: 0; font-size: 13px; color: #475569; } .stacklar-email-template-designer__tokens { margin: 0; font-size: 12px; color: #111111; background: #ededed; border: 1px solid #cfcfcf; border-radius: 6px; padding: 8px 10px; } .stacklar-email-template-designer__grid { display: flex; flex-direction: column; gap: 18px; } .stacklar-email-template-designer__controls { display: flex; flex-direction: column; gap: 16px; } .stacklar-email-template-designer__group { border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; padding: 12px; display: flex; flex-direction: column; gap: 12px; } .stacklar-email-template-designer__group-title { margin: 0; font-size: 13px; font-weight: 600; color: #0f172a; } .stacklar-email-template-designer__token-tools { border: 1px solid #cbd5e1; border-radius: 8px; background: #e2e8f0; padding: 12px; display: flex; flex-direction: column; gap: 8px; } .stacklar-email-template-designer__token-preview { margin: 0; font-size: 12px; color: #475569; display: flex; align-items: center; gap: 6px; } .stacklar-email-template-designer__token-empty { margin: 0; font-size: 12px; color: #64748b; background: #e2e8f0; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 10px 12px; } .stacklar-email-template-designer__preview { border: 1px dashed #cbd5e1; border-radius: 12px; background: #f8fafc; padding: 12px; overflow: auto; max-height: 480px; } .stacklar-email-template-designer__preview .stacklar-email-template-preview { max-width: 100%; } .stacklar-email-template-designer__token { display: inline-block; padding: 0 4px; border-radius: 4px; border: 1px solid #cfcfcf; background: #ededed; color: #111111; font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-size: 11px; } .stacklar-email-template-designer--modal { border: none; background: transparent; padding: 0; margin-top: 0; } .stacklar-email-template-designer--modal .stacklar-email-template-designer__grid { flex-direction: row; align-items: stretch; gap: 28px; } .stacklar-email-template-designer--modal .stacklar-email-template-designer__controls { flex: 0 0 360px; max-width: 380px; } .stacklar-email-template-designer__controls--modal { max-height: 72vh; overflow-y: auto; padding-right: 10px; display: flex; flex-direction: column; gap: 16px; } .stacklar-email-template-designer__controls--modal .stacklar-email-template-designer__group { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; } .stacklar-email-template-designer__tabs .components-tab-panel__tabs { display: flex; gap: 8px; margin: 0; } .stacklar-email-template-designer__tabs .components-tab-panel__tabs button { flex: 1 1 auto; border-radius: 8px; border: 1px solid #cbd5e1; background: #f8fafc; color: #0f172a; font-weight: 500; padding: 6px 10px; } .stacklar-email-template-designer__tabs .components-tab-panel__tabs button.is-active { border-color: #111111; background: #111111; color: #ffffff; box-shadow: 0 0 0 1px rgba(17,17,17,0.25); } .stacklar-email-template-designer__tabs .components-tab-panel__tab-content { margin-top: 16px; display: flex; flex-direction: column; gap: 16px; } .stacklar-email-template-designer__preview--modal { flex: 1 1 auto; background: #f1f5f9; border: 1px solid #d6d6d6; border-radius: 16px; padding: 24px; max-height: 72vh; overflow: auto; box-shadow: inset 0 1px 0 rgba(255,255,255,0.7); } .stacklar-email-template-designer__preview--modal .stacklar-email-template-preview { max-width: 720px; margin: 0 auto; } /* Preview that mirrors the actual layout */ .stacklar-input-prefix, .stacklar-input-suffix { display:inline-flex; align-items:center; background:#eef2f7; border:1px solid #e2e8f0; color:#475569; padding:0 8px; border-radius:4px; font-size:12px; height:32px; line-height:32px; } .stacklar-field--toggle .stacklar-inline { display: inline-flex; align-items: center; gap: 8px; } .stacklar-switch { position: relative; width: 42px; height: 24px; flex: 0 0 42px; display: inline-block; } .stacklar-switch > input[type="checkbox"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; } .stacklar-switch > .stacklar-switch-ui { position: absolute; inset: 0; border-radius: 999px; background: #cbd5e1; /* slate-300 */ transition: background-color .2s ease; z-index: 0; pointer-events: none; } .stacklar-switch > .stacklar-switch-ui::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #ffffff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: left .2s ease; pointer-events: none; } .stacklar-switch > input[type="checkbox"]:checked + .stacklar-switch-ui { background: var(--stacklar-switch-on, #111111); /* default monochrome; override via inline style if needed */ } .stacklar-switch > input[type="checkbox"]:checked + .stacklar-switch-ui::after { left: 21px; } .stacklar-field--range .stacklar-range-wrap { gap: 10px; } /* Apply native styles only when Ion is disabled */ .stacklar-field--range input[type="range"]:not([data-ion="1"]) { /* ... keep the current preview ... */ } /* The editor does not bootstrap Ion yet, but keep these rules for future previews */ .stacklar-field--range .stacklar-range-wrap .irs { flex: 1 1 auto; width: 100%; min-width: 0; } .stacklar-field--range input[type="range"]:not([data-ion="1"]) { width: 100%; /* customise track and fill through CSS variables */ --stacklar-range-bg: #e5e7eb; /* neutral track */ --stacklar-range-color: #111111; /* override via inline style if required */ --stacklar-range-fill: 0%; appearance: none; -webkit-appearance: none; height: 6px; border-radius: 999px; background: linear-gradient(var(--stacklar-range-color), var(--stacklar-range-color)) no-repeat, var(--stacklar-range-bg); background-size: var(--stacklar-range-fill) 100%; outline: none; } /* Thumb WebKit */ .stacklar-field--range input[type="range"]:not([data-ion="1"])::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--stacklar-range-color); border: 2px solid #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); cursor: pointer; margin-top: -6px; /* centre the thumb relative to the track height (18-6)/2 */ } /* Track WebKit */ .stacklar-field--range input[type="range"]:not([data-ion="1"])::-webkit-slider-runnable-track { background: transparent; height: 6px; border-radius: 999px; } /* Firefox track/progress */ .stacklar-field--range input[type="range"]:not([data-ion="1"])::-moz-range-track { background: var(--stacklar-range-bg); height: 6px; border-radius: 999px; } .stacklar-field--range input[type="range"]:not([data-ion="1"])::-moz-range-progress { background: var(--stacklar-range-color); height: 6px; border-radius: 999px; } .stacklar-field--range input[type="range"]:not([data-ion="1"])::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--stacklar-range-color); border: 2px solid #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); cursor: pointer; } .stacklar-field--image-select .stacklar-image-grid > div { background:#fff; } .stacklar-field--range .stacklar-range-value { min-width: 60px; text-align: right; color: #334155; font-size: 12px; } .stacklar-repeater--editor { outline: 2px dashed #cbd5e1; border-radius: 8px; padding: 12px; background: #fff; } // Image Upload styles .stacklar-field--image-upload { .stacklar-input-wrap { width: 100%; } .stacklar-image-upload-area { width: 100%; box-sizing: border-box; } .stacklar-image-upload-dropzone { width: 100%; box-sizing: border-box; border: 2px dashed #ccc; border-radius: 8px; padding: 40px 20px; text-align: center; background-color: #fafafa; cursor: pointer; min-height: 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; transition: all 0.3s ease; &:hover { background-color: #ededed; border-color: #111111; } &.drag-active { background-color: #d6d6d6; border-color: #111111; border-style: solid; } } .stacklar-upload-icon { font-size: 48px; opacity: 0.5; font-weight: bold; line-height: 1; color: #666; } .stacklar-upload-text { font-size: 16px; font-weight: 500; margin: 0; color: #333; } .stacklar-upload-info { font-size: 14px; opacity: 0.7; margin: 0; color: #666; } .stacklar-upload-button { margin-top: 8px; padding: 8px 16px; background-color: #111111; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; &:hover { background-color: #000000; } &:disabled { opacity: 0.6; cursor: not-allowed; } } .stacklar-image-preview-container { margin-top: 15px; display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 10px; } .stacklar-image-preview-item { position: relative; background-color: #f0f0f0; border-radius: 8px; overflow: hidden; aspect-ratio: 1/1; img { width: 100%; height: 100%; object-fit: cover; } .stacklar-remove-image { position: absolute; top: 5px; right: 5px; width: 24px; height: 24px; border-radius: 50%; border: none; background-color: rgba(0, 0, 0, 0.7); color: white; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; line-height: 1; &:hover { background-color: rgba(0, 0, 0, 0.9); } } .stacklar-image-name { position: absolute; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.7); color: white; padding: 4px; font-size: 11px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } } /* Base button styles for Prev/Next/Submit within steps (editor preview) */ .stacklar-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; line-height: 1.2; cursor: pointer; border: 1px solid transparent; border-radius: 6px; padding: 8px 12px; text-decoration: none; transition: background-color .15s ease, color .15s ease, border-color .15s ease, opacity .15s ease; } .stacklar-btn--primary { background:#111111; color:#fff; border-color:#111111; } .stacklar-btn--primary:hover { background:#111111; } .stacklar-btn--ghost { background:transparent; color:#111111; border-color:#111111; } .stacklar-btn--ghost:hover { background:rgba(17,17,17,.06); } /* In the editor, steps are always visible for editing */ .block-editor-page .stacklar.is-multistep .stacklar-step { display:block; } .stacklar-field--signature .stacklar-signature-preview-wrap { display: flex; flex-direction: column; gap: 8px; } .stacklar-field--signature .stacklar-signature-preview-area { border: 1px dashed #cbd5e1; background: #f8fafc; border-radius: 6px; width: 100%; } .stacklar-signature-preview-instructions { margin: 0; font-size: 13px; color: #475569; } .stacklar-rating-preview-wrap { display: flex; flex-direction: column; gap: 8px; } .stacklar-rating-preview-stars { --stacklar-rating-size: 24px; --stacklar-rating-gap: 6px; --stacklar-rating-color: #cbd5e1; --stacklar-rating-active: #111111; display: inline-flex; gap: var(--stacklar-rating-gap); font-size: var(--stacklar-rating-size); color: var(--stacklar-rating-color); } .stacklar-rating-preview-star.is-active { color: var(--stacklar-rating-active); } .stacklar-rating-preview-star i { display: inline-flex; font-size: inherit; line-height: 1; color: inherit; } .stacklar-icon-control { display: flex; flex-direction: column; gap: 6px; } .stacklar-icon-control__label { color: #475569; font-size: 12px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; } .stacklar-icon-control__row { align-items: center; display: flex; gap: 8px; } .stacklar-icon-control__preview { align-items: center; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; color: #0f172a; display: inline-flex; font-size: 18px; height: 28px; justify-content: center; width: 28px; } .stacklar-icon-control__preview i { color: inherit; font-size: 18px; line-height: 1; } .stacklar-icon-control__help { color: #64748b; font-size: 12px; } .stacklar-icon-library-modal .components-modal__content { background: #1f2328; color: #e2e8f0; display: flex; flex-direction: column; height: 85vh; max-height: 85vh; margin-top: unset; max-width: none; overflow: hidden; padding: 0; width: min(1100px, 95vw); } .stacklar-icon-library-modal .components-modal__frame { height: 85vh; max-height: 85vh; overflow: hidden; } .stacklar-icon-library-modal .components-modal__header { display: none; } .stacklar-icon-library-modal .components-modal__header-heading { color: #e2e8f0; } .stacklar-icon-library__header { align-items: center; background: #1b1f23; border-bottom: 1px solid #2b3036; display: flex; gap: 12px; justify-content: space-between; padding: 12px 16px; } .stacklar-icon-library__header-title { color: #e2e8f0; font-size: 16px; font-weight: 600; } .stacklar-icon-library { display: flex; flex: 1 1 auto; min-height: 0; overflow: hidden; } .stacklar-icon-library__sidebar { background: #1b1f23; border-right: 1px solid #2b3036; display: flex; flex-direction: column; gap: 12px; flex: 0 0 240px; overflow: hidden; padding: 16px; width: 240px; } .stacklar-icon-library__sidebar-title { color: #9ca3af; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; } .stacklar-icon-library__nav { display: flex; flex-direction: column; gap: 6px; } .stacklar-icon-library__nav-item { background: transparent; border: 1px solid transparent; border-radius: 8px; color: #e2e8f0; cursor: pointer; font-size: 13px; padding: 8px 10px; text-align: left; } .stacklar-icon-library__nav-item.is-active { background: #24292f; border-color: #3b4147; } .stacklar-icon-library__main { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; min-width: 0; overflow: hidden; } .stacklar-icon-library__search { background: #1f2328; border-bottom: 1px solid #2b3036; padding: 16px; } .stacklar-icon-library__search .components-base-control__field { margin: 0; } .stacklar-icon-library__search input { background: #111827; border: 1px solid #2b3036; color: #e2e8f0; } .stacklar-icon-library__grid { background: #1f2328; display: grid; flex: 1 1 auto; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); height: 85vh; overflow: auto; padding: 16px; } .stacklar-icon-library__item { align-items: center; background: #24292f; border: 1px solid #2f353b; border-radius: 8px; color: #e2e8f0; cursor: pointer; display: flex; flex-direction: column; gap: 8px; padding: 10px 8px; transition: border-color .15s ease, background .15s ease, transform .15s ease; } .stacklar-icon-library__item:hover { background: #2b3137; border-color: #4b5563; transform: translateY(-1px); } .stacklar-icon-library__item.is-selected { border-color: #111111; box-shadow: 0 0 0 1px rgba(17, 17, 17, .35); } .stacklar-icon-library__icon { align-items: center; display: flex; font-size: 22px; height: 32px; justify-content: center; line-height: 1; width: 32px; } .stacklar-icon-library__name { color: #cbd5e1; font-size: 11px; line-height: 1.2; max-width: 100%; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; } .stacklar-icon-library__state { align-items: center; color: #cbd5e1; display: flex; font-size: 13px; justify-content: center; min-height: 180px; text-align: center; } .stacklar-icon-library__actions { display: flex; gap: 8px; justify-content: flex-end; } .stacklar-icon-library__actions .components-button.is-primary { background: #111111; border-color: #111111; } .stacklar-autocomplete-preview { display: flex; flex-direction: column; gap: 8px; } .stacklar-autocomplete-preview-instructions { margin: 0; font-size: 13px; color: #475569; } .stacklar-autocomplete-preview-box { border: 1px solid #cbd5e1; border-radius: 6px; background: #ffffff; padding: 8px 10px; } .stacklar-autocomplete-preview-input { display: flex; align-items: center; min-height: 32px; color: #94a3b8; font-size: 13px; } .stacklar-autocomplete-preview-placeholder { opacity: 0.7; } .stacklar-autocomplete-preview-list { margin-top: 6px; padding-top: 6px; border-top: 1px solid #e2e8f0; font-size: 12px; color: #475569; } .stacklar-field--acceptance .stacklar-acceptance-preview-instructions { margin: 0; font-size: 13px; color: #475569; } .stacklar-field--acceptance .stacklar-acceptance-preview-box { display: flex; align-items: flex-start; gap: 10px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 12px; color: #0f172a; } .stacklar-field--acceptance .stacklar-acceptance-preview-box input[type="checkbox"] { margin-top: 3px; } .stacklar-field--acceptance .stacklar-acceptance-preview-text { font-size: 14px; line-height: 1.5; } .stacklar-field--color .stacklar-color-preview { display: flex; flex-direction: column; gap: 8px; } .stacklar-field--color .stacklar-color-preview-instructions { margin: 0; font-size: 13px; color: #475569; } .stacklar-field--color .stacklar-color-preview-picker { display: inline-flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px dashed #cbd5e1; border-radius: 6px; background: #f8fafc; } .stacklar-field--color .stacklar-color-preview-swatch { width: 32px; height: 32px; border-radius: 4px; border: 1px solid #cbd5e1; display: inline-block; } .stacklar-field--color .stacklar-color-preview-value { font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; color: #475569; } .stacklar-field--address .stacklar-address-preview { display: flex; flex-direction: column; gap: 8px; } .stacklar-field--address .stacklar-address-preview-instructions { margin: 0; font-size: 13px; color: #475569; } .stacklar-field--address .stacklar-address-preview-input { display: inline-flex; align-items: center; gap: 8px; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 10px 12px; background: #f8fafc; color: #64748b; } .stacklar-field--hidden .stacklar-hidden-preview-box { border: 1px dashed #cbd5e1; background: #f8fafc; border-radius: 6px; padding: 12px; font-size: 13px; color: #334155; } .stacklar-field--hidden .stacklar-hidden-preview-box ul { margin: 8px 0 0; padding-left: 18px; } .stacklar-field--hidden .stacklar-hidden-preview-box code { background: #e2e8f0; padding: 2px 4px; border-radius: 4px; font-size: 12px; } .stacklar-field--hidden .stacklar-hidden-preview-note { margin: 6px 0 0; font-size: 12px; color: #64748b; } .stacklar-pdf-mapper-modal.components-modal__frame, .stacklar-pdf-mapper-modal .components-modal__frame { width: min(1760px, 98vw); max-width: 98vw; height: 95vh; max-height: 95vh; min-width: min(980px, 98vw); min-height: min(620px, 95vh); resize: both; overflow: auto; } .stacklar-pdf-mapper-modal .components-modal__content { flex: 1 1 auto; display: flex; flex-direction: column; height: 100%; max-height: none; min-height: 0; overflow: unset; padding-bottom: 14px; } .stacklar-pdf-mapper { display: flex; gap: 14px; flex: 1 1 auto; min-height: 0; overflow: visible; } .stacklar-pdf-mapper__viewer { flex: 1 1 auto; min-height: 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; } .stacklar-pdf-mapper__toolbar { display: flex; align-items: center; gap: 8px; } .stacklar-pdf-mapper__toolbar-spacer { flex: 1 1 auto; } .stacklar-pdf-mapper__page { font-size: 13px; color: #334155; } .stacklar-pdf-mapper__canvas-wrap { position: relative; flex: 1 1 auto; min-height: 0; border: 1px solid #e2e8f0; background: #f8fafc; overflow: auto !important; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; overscroll-behavior: contain; border-radius: 6px; padding: 8px; } .stacklar-pdf-mapper__canvas-wrap canvas { display: block; background: #ffffff; box-shadow: 0 0 0 1px #e2e8f0; } .stacklar-pdf-mapper__overlay { position: absolute; top: 8px; left: 8px; pointer-events: none; } .stacklar-pdf-mapper__item { position: absolute; padding: 1px 3px; border: 1px dashed #64748b; background: rgba(248, 250, 252, 0.8); color: #0f172a; border-radius: 3px; cursor: move; pointer-events: auto; white-space: nowrap; max-width: 140px; overflow: hidden; text-overflow: ellipsis; line-height: 1.15; } .stacklar-pdf-mapper__item.is-selected { border-color: #2563eb; box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.25); background: rgba(219, 234, 254, 0.9); } .stacklar-pdf-mapper__side { width: 280px; flex: 0 0 280px; display: flex; flex-direction: column; gap: 12px; overflow: auto; padding-right: 4px; } .stacklar-pdf-mapper__section h3 { margin: 0 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em; color: #64748b; } .stacklar-pdf-mapper__tokens { display: flex; flex-direction: column; gap: 6px; max-height: 180px; overflow: auto; border: 1px solid #e2e8f0; padding: 8px; border-radius: 6px; background: #ffffff; } .stacklar-pdf-mapper__token { padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 6px; cursor: grab; background: #f8fafc; font-size: 12px; } .stacklar-pdf-mapper__items { display: flex; flex-direction: column; gap: 6px; } .stacklar-pdf-mapper__item-link { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 6px 8px; text-align: left; font-size: 12px; cursor: pointer; } .stacklar-pdf-mapper__hint { font-size: 12px; color: #64748b; margin: 6px 0 0; } .stacklar-pdf-mapper__loading { position: absolute; top: 12px; right: 12px; background: rgba(255, 255, 255, 0.8); padding: 4px 6px; border-radius: 4px; z-index: 2; } .stacklar-pdf-mapper__footer { display: flex; justify-content: flex-end; flex: 0 0 auto; border-top: 1px solid #e2e8f0; padding-top: 10px; margin-top: 12px; } @media (max-width: 1200px) { .stacklar-pdf-mapper-modal.components-modal__frame, .stacklar-pdf-mapper-modal .components-modal__frame { width: min(1200px, 99vw); max-width: 99vw; height: 94vh; max-height: 94vh; min-width: min(840px, 99vw); min-height: min(520px, 94vh); } .stacklar-pdf-mapper__side { width: 260px; flex-basis: 260px; } } @media (max-width: 900px) { .stacklar-pdf-mapper-modal.components-modal__frame, .stacklar-pdf-mapper-modal .components-modal__frame { resize: none; min-width: 0; min-height: 0; } .stacklar-pdf-mapper { flex-direction: column; min-height: 0; gap: 10px; } .stacklar-pdf-mapper__viewer { min-height: 52vh; } .stacklar-pdf-mapper__side { width: 100%; flex-basis: auto; max-height: 32vh; padding-right: 0; } } .stacklar-pdf-template-panel__label { margin: 0 0 4px; font-size: 12px; color: #64748b; } .stacklar-pdf-template-panel__filename { margin: 0 0 8px; font-size: 13px; color: #0f172a; } .stacklar-ai-copilot { display: flex; flex-direction: column; gap: 16px; padding: 16px; } .stacklar-ai-copilot__intro h2, .stacklar-ai-copilot__proposal h3 { margin: 0 0 6px; color: #0f172a; } .stacklar-ai-copilot__intro p, .stacklar-ai-copilot__summary { margin: 0; color: #475569; line-height: 1.5; } .stacklar-ai-copilot__suggestions { display: flex; flex-wrap: wrap; gap: 6px; } .stacklar-ai-copilot__suggestions-label { flex-basis: 100%; color: #64748b; font-size: 12px; font-weight: 600; } .stacklar-ai-copilot__primary { align-self: flex-start; } .stacklar-ai-copilot__primary .components-spinner, .stacklar-ai-copilot__actions .components-spinner { margin: 0 6px 0 0; } .stacklar-ai-copilot__proposal { display: flex; flex-direction: column; gap: 12px; padding-top: 16px; border-top: 1px solid #e2e8f0; } .stacklar-ai-copilot__changes { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; } .stacklar-ai-copilot__change { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: 2px 8px; margin: 0; padding: 10px; border: 1px solid #e2e8f0; border-radius: 6px; background: #f8fafc; } .stacklar-ai-copilot__change::before { grid-row: 1 / span 2; align-self: stretch; border-radius: 999px; background: #22c55e; content: ""; } .stacklar-ai-copilot__change.is-risk-medium::before { background: #f59e0b; } .stacklar-ai-copilot__change.is-risk-high::before { background: #dc2626; } .stacklar-ai-copilot__change-label { overflow: hidden; color: #0f172a; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; } .stacklar-ai-copilot__change-detail, .stacklar-ai-copilot__protected, .stacklar-ai-copilot__expiry { margin: 0; color: #64748b; font-size: 12px; line-height: 1.45; } .stacklar-ai-copilot__protected { padding: 10px; border-radius: 6px; background: #f1f5f9; } .stacklar-ai-copilot__actions { display: flex; flex-wrap: wrap; gap: 8px; }