/* Panel Layout Components */ .left-panel { width: min(480px, 40vw); min-width: 320px; max-width: 480px; background: linear-gradient(135deg, #fafbfc 0%, #f8fafc 100%); border-right: 1px solid var(--gray-200); display: flex; flex-direction: column; box-shadow: 2px 0 10px rgba(0, 0, 0, 0.05); } .right-panel { flex: 1; min-width: 0; background: white; display: flex; flex-direction: column; } .header { padding: 24px 24px 20px; background: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%); color: white; border-bottom: 1px solid var(--primary-700); position: relative; overflow: hidden; flex-shrink: 0; } .header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%); pointer-events: none; } .header h1 { font-size: 28px; font-weight: 700; margin-bottom: 8px; letter-spacing: -0.02em; text-shadow: 0 2px 4px rgba(0,0,0,0.1); position: relative; z-index: 1; } .header p { opacity: 0.95; font-size: 14px; font-weight: 500; letter-spacing: 0.01em; position: relative; z-index: 1; margin-bottom: 0; } .input-section { padding: 24px 20px; flex: 1; display: flex; flex-direction: column; gap: 20px; background: linear-gradient(180deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.95) 100%); overflow-y: auto; } .footer { padding: 16px 24px; background: white; border-top: 1px solid var(--gray-200); display: flex; justify-content: space-between; align-items: center; } .footer-info { font-size: 13px; color: var(--gray-500); }