/* ── Panel primitive ─────────────────────────────────────────────── */ .ui-panel { position: relative; border-radius: var(--radius-lg); border: 1px solid var(--color-border-warm); overflow: hidden; color: var(--color-fg); } /* glass — warm backdrop-filter card (replaces legacy .glass-panel) */ .ui-panel--glass { background: radial-gradient(500px 240px at 15% 0%, rgba(251, 188, 148, 0.05) 0%, transparent 70%), radial-gradient(500px 280px at 100% 100%, rgba(211, 134, 155, 0.045) 0%, transparent 70%), linear-gradient(160deg, rgba(47, 41, 39, 0.82) 0%, rgba(38, 33, 31, 0.82) 100%); backdrop-filter: var(--glass-blur-md); -webkit-backdrop-filter: var(--glass-blur-md); } .ui-panel--glass::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient( 90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.08) 30%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0.08) 70%, rgba(255, 255, 255, 0) ); pointer-events: none; } /* solid — opaque elevated surface */ .ui-panel--solid { background: linear-gradient(160deg, #2a2624 0%, #201c1b 100%); box-shadow: var(--shadow-md); } /* flat — inline, no elevation, just a subtle border */ .ui-panel--flat { background: rgba(0, 0, 0, 0.08); border-color: var(--color-border); } /* Padding scale */ .ui-panel--pad-none .ui-panel__body { padding: 0; } .ui-panel--pad-sm .ui-panel__body { padding: var(--space-4); } .ui-panel--pad-md .ui-panel__body { padding: var(--space-5); } .ui-panel--pad-lg .ui-panel__body { padding: var(--space-6); } /* Header */ .ui-panel__header { display: flex; align-items: center; justify-content: space-between; padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--color-border); gap: var(--space-4); } .ui-panel__title { font-size: var(--text-md); font-weight: var(--weight-bold); color: var(--color-fg); letter-spacing: -0.01em; display: flex; align-items: center; gap: var(--space-3); min-width: 0; } .ui-panel__actions { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0; } /* When there's a header, kill the body's top padding for visual balance */ .ui-panel__header + .ui-panel__body { padding-top: var(--space-4); }