/* Config page specific styles (shared styles moved to common.css). */ .config-section { background: #fff; border: 1px solid transparent; border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 12px; transition: border-color 0.2s ease; } .config-section:hover { border-color: #000; } .config-section-title { font-size: 14px; font-weight: 600; color: var(--accents-7); } .config-section-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; margin-bottom: 4px; } .config-footer-actions { display: flex; justify-content: flex-start; margin-top: 8px; padding-top: 4px; } .config-grid { display: grid; gap: 14px; } .config-field { padding-top: 2px; position: relative; } .config-field-title { font-size: 13px; font-weight: 600; color: var(--accents-7); } .config-field-desc { font-size: 12px; color: var(--accents-4); line-height: 1.5; } .config-field-input { margin-top: 6px; } .config-field.has-action { padding-right: 44px; } .config-field-action { position: absolute; right: 0; top: 50%; transform: translateY(-50%); } .routing-board { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; } .routing-pane { border: 1px solid var(--border); border-radius: 14px; padding: 14px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 250, 251, 0.96) 100%); } .routing-pane-header { margin-bottom: 12px; } .routing-pane-title { font-size: 13px; font-weight: 700; color: var(--accents-7); } .routing-pane-subtitle { margin-top: 4px; font-size: 12px; line-height: 1.5; color: var(--accents-4); } .routing-dropzone { min-height: 148px; border: 1px dashed var(--border); border-radius: 12px; padding: 12px; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 10px; background: radial-gradient(circle at top left, rgba(0, 0, 0, 0.03), transparent 42%), linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 244, 245, 0.96)); transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease; } .routing-dropzone.is-over { border-color: #111; background: radial-gradient(circle at top left, rgba(0, 0, 0, 0.06), transparent 42%), linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 237, 239, 0.98)); transform: translateY(-1px); } .routing-dropzone-source { min-height: 320px; } .routing-pool-grid { display: grid; gap: 12px; } .routing-pool-card { border: 1px solid var(--border); border-radius: 12px; background: rgba(255, 255, 255, 0.86); padding: 10px; } .routing-pool-header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; } .routing-pool-title { font-size: 13px; font-weight: 700; color: var(--accents-7); } .routing-pool-hint { font-size: 11px; color: var(--accents-4); } .routing-chip { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 4px; max-width: 100%; padding: 10px 12px; border: 1px solid rgba(17, 17, 17, 0.12); border-radius: 12px; background: linear-gradient(180deg, #111 0%, #262626 100%); color: #fff; cursor: grab; box-shadow: 0 6px 18px rgba(17, 17, 17, 0.1); transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease; } .routing-chip:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(17, 17, 17, 0.14); } .routing-chip.is-dragging { opacity: 0.5; cursor: grabbing; } .routing-chip-name { font-size: 12px; font-weight: 700; line-height: 1.3; } .routing-chip-id { max-width: 100%; font-size: 11px; color: rgba(255, 255, 255, 0.72); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .routing-empty { width: 100%; min-height: 72px; border-radius: 10px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 12px; font-size: 12px; color: var(--accents-4); background: rgba(245, 245, 245, 0.9); } html[data-theme='dark'] .routing-pane, html[data-theme='dark'] .routing-pool-card { background: linear-gradient(180deg, rgba(29, 29, 31, 0.96), rgba(20, 20, 22, 0.96)); } html[data-theme='dark'] .routing-dropzone { background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.04), transparent 42%), linear-gradient(180deg, rgba(24, 24, 27, 0.98), rgba(16, 16, 18, 0.98)); } html[data-theme='dark'] .routing-dropzone.is-over { border-color: rgba(255, 255, 255, 0.76); } html[data-theme='dark'] .routing-empty { background: rgba(255, 255, 255, 0.03); } @media (max-width: 900px) { .config-section { padding: 14px; border-radius: 10px; } .config-field.has-action { padding-right: 0; padding-bottom: 40px; } .config-field-action { top: auto; right: 0; bottom: 0; transform: none; } .routing-board { grid-template-columns: 1fr; } .routing-dropzone-source { min-height: 220px; } }